Skip to content

Instantly share code, notes, and snippets.

@kishida
Created August 4, 2013 08:37
Show Gist options
  • Save kishida/6149721 to your computer and use it in GitHub Desktop.
Save kishida/6149721 to your computer and use it in GitHub Desktop.
take prime numbers
primenumbers :: Integer -> [Integer]
primenumbers n = reverse (prime_impl 2 n [])
where
prime_impl :: Integer -> Integer -> [Integer] -> [Integer]
prime_impl x m rs
| x > m = rs
| any (\n -> x `mod` n == 0) rs =
prime_impl (x+1) m rs
| otherwise = prime_impl (x + 1) m (x:rs)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment