===== Prime enumeration ===== ==== Function ==== | @#FF9944: definition | @#FF9944: $p : {\mathbb N}_+\to{\mathbb P}$ | | @#FF9944: definition | @#FF9944: $p(1):=2$ | | @#FF9944: definition | @#FF9944: $p(n+1):={\mathrm{min}}({\mathbb P}\setminus{X_n})$ | | @#BBDDEE: with | @#BBDDEE: $X_n\equiv\{m\in{\mathbb P}\mid m\le p(n)\}$ | ----- === Code === 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 using [[Least divisor function]]: 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 using [[Set of divisors function]]: divides :: Integral a => a -> a -> Bool divides d n = rem n d == 0 ----- === Element of === [[Bijective function]] === Requirements === [[Prime number]] === Code reference === [[Least divisor function]]