From 2eecbe9980de5996054ffdd7662cfa2b99676874 Mon Sep 17 00:00:00 2001 From: Bill Ewanick Date: Sun, 1 Dec 2024 23:37:39 -0500 Subject: [PATCH] Collatz changes --- src/3n+1/Main.hs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/3n+1/Main.hs b/src/3n+1/Main.hs index ec9d22e..1ef460a 100644 --- a/src/3n+1/Main.hs +++ b/src/3n+1/Main.hs @@ -30,14 +30,15 @@ f :: Integer -> Integer f n = s 1 n where s :: Integer -> Integer -> Integer - s i n - | n == 1 = i - | n == 0 = i - | n == (-1) = i - | n == (-5) = i - | n == (-17) = i - | even n = s (succ i) (n `div` 2) - | odd n = s (succ i) (3*n + 1) + s c n + | n == 1 = c + | n == 0 = c + | n == (-1) = c + | n == (-5) = c + | n == (-17) = c + | even n = s c' (n `div` 2) + | odd n = s c' (3*n + 1) + where c' = succ c f' :: Integer -> Integer f' n = f'' 1 n