Compute the prime numbers using the Eratosthenes algorithm.
This program computes the prime numbers and print them. It is based on the Eratosthenes algorithm. Bascically, for a given number we must check that it can't be divided by the prime numbers below it. In fact we can stop when we checked up to sqrt(N) .
The prime numbers are stored in a bitmap because they occupy less room in memory. There are 6542 primes below 65536. To keep them in a list, we need 13084 bytes (if we use unsigned short). In our case, the bitmap contains only 8192 bytes (65536 bits).
To compute the 6542 first primes:
GCC 2.95.2 293159129 cycles (146.6 s)
GCC 2.95.3 293100142 cycles (146.6 s)
GCC 3.0.4 277176107 cycles (138.6 s)
Source file: primes.c
|