Sieve of Eratosthenes

Algorithm

Take a set of natural numbers $S = \set {2, 3, 4, \ldots, n}$.

$(1): \quad$ Set $k = 2$.
$(2): \quad$ Delete from $S$ every multiple of $k$ (but not $k$ itself).
$(3): \quad$ Set $k$ equal to the smallest number of those remaining in $S$ greater than the current value of $k$.
$(4): \quad$ If $k \le \sqrt n$, go to step $(2)$. Otherwise, STOP.


What remains in $S$ is the complete set of all prime numbers less than or equal to $n$.


Proof

The above constitutes an algorithm, for the following reasons:


Finiteness

For each iteration through the algorithm, step $(3)$ is executed, which increases $k$ by at least $1$.

The algorithm will terminate after at most $\sqrt n - 2$ iterations (and probably considerably less).


Definiteness

Step 1: Trivially definite.
Step 2: Trivially definite.
Step 3: Trivially definite.
Step 4: Trivially definite.


Inputs

The input to this algorithm is the set of natural numbers $S = \set {2, 3, 4, \ldots, n}$.


Outputs

The output to this algorithm is the set $S$ without any multiples of any numbers no greater than $\sqrt n$.

From Composite Number has Prime Factor not Greater Than its Square Root, it follows that all the numbers left in $S$ must be prime.

By the method of construction, no prime can have been deleted from $S$.

Hence the output consists of all, and only, the primes less than or equal to $n$.


Effective

Each step of the algorithm is basic enough to be done exactly and in a finite length of time.


Source of Name

This entry was named for Eratosthenes of Cyrene.

Sift the Two's and Sift the Three's,
The Sieve of Eratosthenes.
When the multiples sublime,
The numbers that remain are Prime.
-- Traditional: cited in 1981: William F. Clocksin and Christopher S. Mellish: Programming in Prolog.


Historical Note

The dates back to circa $\text {250}$$\text { BCE}$, and is attributed to Eratosthenes of Cyrene.


Sources

  • 1979: G.H. Hardy and E.M. Wright: An Introduction to the Theory of Numbers (5th ed.) ... (previous) ... (next): $\text I$: The Series of Primes: $1.4$ The sequence of primes
  • 1981: William F. Clocksin and Christopher S. Mellish: Programming in Prolog
  • 1986: David Wells: Curious and Interesting Numbers ... (previous) ... (next): $33$
  • 1989: Ephraim J. Borowski and Jonathan M. Borwein: Dictionary of Mathematics ... (previous) ... (next): sieve of Eratosthenes
  • 1992: George F. Simmons: Calculus Gems ... (previous) ... (next): Chapter $\text {B}.16$: The Sequence of Primes
  • 1997: David Wells: Curious and Interesting Numbers (2nd ed.) ... (previous) ... (next): $33$
  • 1998: David Nelson: The Penguin Dictionary of Mathematics (2nd ed.) ... (previous) ... (next): sieve of Eratosthenes (Eratosthenes, c. 250 bc)
  • 2008: David Nelson: The Penguin Dictionary of Mathematics (4th ed.) ... (previous) ... (next): sieve of Eratosthenes (Eratosthenes, c.250 bc)
  • 2014: Christopher Clapham and James Nicholson: The Concise Oxford Dictionary of Mathematics (5th ed.) ... (previous) ... (next): sieve of Eratosthenes