All pastes #359199 Raw Edit

Untitled

public text v1 · immutable
·published 2007-02-16 16:47 UTC
rendered paste body
// 2004-02-07 Chris Hodapp

#include <stdio.h>

int main() {
    unsigned long max, i, j, i2, step;
    char *sieve;

    printf("Maximum prime? ");
    scanf("%li", &max);
    sieve = (char *) malloc((max+1) * sizeof(char));

    sieve[2] = 0;
    for(i = 4; i < max; i += 2) {
        sieve[i] = 1;
        sieve[i-1] = 0;
    }

    for(i = 3; i*i <= max; ++i) {
        if (sieve[i]) continue;
        for(j = i*i; j <= max; j += 2*i) sieve[j] = 1;
    }

    for(i = 2; i < max; ++i) if (!(sieve[i])) printf("%li\n", i);
}