Wednesday, August 28, 2013

Sieve of Eratosthenes For Generating Prime Numbers






An algorithm for making tables of primes. Sequentially write down the integers from 2 to the highest number n you wish to include in the table. Cross out all numbers >2 which are divisible by 2 (every second number). Find the smallest remaining number >2. It is 3. So cross out all numbers >3which are divisible by 3 (every third number). Find the smallest remaining number >3. It is 5. So cross out all numbers >5 which are divisible by 5 (every fifth number).
Continue until you have crossed out all numbers divisible by |_sqrt(n)_|, where |_x_| is the floor function. The numbers remaining are prime. This procedure is illustrated in the above diagram which sieves up to 50, and therefore crosses out composite numbers up to |_sqrt(50)_|=7. If the procedure is then continued up to n, then the number of cross-outs gives the number of distinct prime factors of each number.
The sieve of Eratosthenes can be used to compute the prime counting function as
 pi(x)=pi(sqrt(x))+1+x-|_1/2x_|-|_1/3x_|-|_1/5x_|-...+|_x/(2·3)_|+|_x/(2·5)_|+|_x/(3...5)_|+...-|_x/(2·3·5)_|+...
which is essentially an application of the inclusion-exclusion principle.

No comments:

Post a Comment