I'd like you to:
int N=read_integer();
int factors[N]={0};
for (int P=2;P<N;P++) {
if (factors[P]==0) { /* yes, it is prime */
write_integer(P);
/* Mark all its multiples as not prime */
for (int M=P+P;M<N;M+=P) factors[M]=1;
}
}
(Try
this in NetRun now!)N=4: 5.32 ns/call N=8: 12.2 ns/call N=16: 25.6 ns/call N=32: 51 ns/call N=64: 103 ns/call(Try this in NetRun now!)