1
0
Fork 0

Collatz changes

main
Bill Ewanick 2024-12-01 23:37:39 -05:00
parent 4906e74cf3
commit 2eecbe9980
1 changed files with 9 additions and 8 deletions

View File

@ -30,14 +30,15 @@ f :: Integer -> Integer
f n = s 1 n f n = s 1 n
where where
s :: Integer -> Integer -> Integer s :: Integer -> Integer -> Integer
s i n s c n
| n == 1 = i | n == 1 = c
| n == 0 = i | n == 0 = c
| n == (-1) = i | n == (-1) = c
| n == (-5) = i | n == (-5) = c
| n == (-17) = i | n == (-17) = c
| even n = s (succ i) (n `div` 2) | even n = s c' (n `div` 2)
| odd n = s (succ i) (3*n + 1) | odd n = s c' (3*n + 1)
where c' = succ c
f' :: Integer -> Integer f' :: Integer -> Integer
f' n = f'' 1 n f' n = f'' 1 n