Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
prime_number [2016/05/24 19:15] nikolaj |
prime_number [2016/05/24 19:26] nikolaj |
||
---|---|---|---|
Line 8: | Line 8: | ||
----- | ----- | ||
- | === Code === | ||
- | <code haskell> | ||
- | primes0 :: [Integer] | ||
- | primes0 = filter prime0 [2..] | ||
- | |||
- | prime0 :: Integer -> Bool | ||
- | prime0 n | n < 1 = error "not a positive integer" | ||
- | | n == 1 = False | ||
- | | otherwise = ld n == n | ||
- | </code> | ||
- | |||
- | using [[Least divisor function]]: | ||
- | <code haskell> | ||
- | divides :: Integral a => a -> a -> Bool | ||
- | divides d n = rem n d == 0 | ||
- | |||
- | ld :: Integral a => a -> a | ||
- | ld n = ldf 2 n | ||
- | |||
- | ldf :: Integral a => a -> a -> a | ||
- | ldf k n | divides k n = k | ||
- | | k^2 > n = n | ||
- | | otherwise = ldf (k+1) n | ||
- | </code> | ||
- | |||
- | using [[Set of divisors function]]: | ||
- | <code haskell> | ||
- | divides :: Integral a => a -> a -> Bool | ||
- | divides d n = rem n d == 0 | ||
- | </code> | ||
- | |||
----- | ----- | ||
=== Subset of === | === Subset of === |