Mercurial > hg > toys
changeset 12:d5ba6cf70633
Merge in Haskell
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Wed, 02 Oct 2013 08:43:44 -0400 |
parents | 7ce081b92ff9 (current diff) 39725b492f1e (diff) |
children | 484f9cac6a1f |
files | |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/haskell/primes.hs @@ -0,0 +1,11 @@ +isPrime :: Integer -> Bool +isPrime n = all (\p -> n `mod` p /= 0) (takeWhile (\p -> p^2 <= n) primes) + +primes :: [Integer] +primes = 2 : filter isPrime [3,5..] + +hailstone :: Integer -> [Integer] +hailstone 1 = [1] +hailstone n = if n `mod` 2 == 0 + then n:hailstone (n `div` 2) + else n:hailstone (3*n+1) \ No newline at end of file