home *** CD-ROM | disk | FTP | other *** search
- /* standard "sieve of eratosthenes" generation of primes *
- * keyboard entered by frank gaude' 08/02/83 */
-
- #include "stdio80.h"
-
- #define SIZE 8190 /* size of number array */
- #define FALSE 0
- #define TRUE 1
- #define NTIMES 10
-
- extern printf(),exit();
- char flag[SIZE + 1];
-
- main() /* compute primes using sieve of eratostenes */
- {
- int i, j, k, count, prime;
-
- printf("10 iterations: ");
-
- for (i = 1; i <= NTIMES; i++) { /* do program ntimes */
- count = 0; /* prime counter */
- for (j = 0; j <= SIZE; j++) /* set all flags true*/
- flag[j] = TRUE;
- for (j = 0; j <= SIZE; j++) {
- if (flag[j] == TRUE) { /* found a prime */
- prime = j + j + 3; /* twice index + 3 */
- printf("\n%d",prime); /* print prime */
- for (k = j + prime; k <= SIZE; k += prime)
- flag[k] = FALSE; /* discard multiples */
- count++; /* primes found */
- }
- }
- }
-
- printf("%d primes.\n", count);
- exit(0);
- }
- ABS C