/* -*- mode: c -*- | |
* $Id$ | |
* http://www.bagley.org/~doug/shootout/ | |
*/ | |
#include <stdio.h> | |
#include <stdlib.h> | |
int | |
main(int argc, char *argv[]) { | |
int NUM = ((argc == 2) ? atoi(argv[1]) : 1); | |
static char flags[8192 + 1]; | |
long i, k; | |
int count = 0; | |
while (NUM--) { | |
count = 0; | |
for (i=2; i <= 8192; i++) { | |
flags[i] = 1; | |
} | |
for (i=2; i <= 8192; i++) { | |
if (flags[i]) { | |
/* remove all multiples of prime: i */ | |
for (k=i+i; k <= 8192; k+=i) { | |
flags[k] = 0; | |
} | |
count++; | |
} | |
} | |
} | |
printf("Count: %d\n", count); | |
return(0); | |
} | |