# HG changeset patch # User Jordi GutiƩrrez Hermoso # Date 1380717824 14400 # Node ID d5ba6cf70633675b9446070bc39240e4cf468caa # Parent 7ce081b92ff94c13f5bdf2c5bfe3ec0f895b8918# Parent 39725b492f1eba4b7286d3fa85fb9c8456b58171 Merge in Haskell diff --git a/haskell/primes.hs b/haskell/primes.hs 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