Thanks to rapid advances in technology, it’s never been easier to put words on the Internet.
Features
Maths
Prime numbers are positive integers \(p > 1\) that have exactly one positive divisor other than \(1\).
The \(n\)th prime number is commonly denoted \(p_n\), so \(p_1 = 2\), \(p_2 = 3\), and so on.
The Dirichlet generating function of the characteristic function of the prime numbers \(p_n\) is given by
$$ \begin{aligned} \sum^\infty_{n=1} \frac{[n \in \{p_k\}^\infty_{k=1}]}{n^{\scriptsize S}} &= \sum^\infty_{n=1} \frac{1}{p^{\scriptsize S}_n} \\ &= \frac{1}{2^{\scriptsize S}} + \frac{1}{3^{\scriptsize S}} + \frac{1}{5^{\scriptsize S}} + \frac{1}{7^{\scriptsize S}} + \ldots \\ &= P({\scriptsize S}), \end{aligned} $$
where \(P({\scriptsize S})\) is the prime zeta function and \([{\scriptsize S}]\) is an Iverson bracket.
Code
main :: IO ()
main = mapM_ print $ take 10 primes
primes :: [Integer]
primes = 2 : 3 : filter isPrime [5,7..]
isPrime :: Integer -> Bool
isPrime = null . primeDivisors
primeDivisors :: Integer -> [Integer]
primeDivisors n = [ p | p <- takeWhile ((<=n) . (^2)) primes, n `mod` p == 0 ]
Diagrams
graph LR
main --> primes
primes --> isPrime
isPrime --> primeDivisors
primeDivisors --> primes
Tables
Right | Left | Default | Centre |
---|---|---|---|
12 | 12 | 12 | 12 |
123 | 123 | 123 | 123 |
1 | 1 | 1 | 1 |