#include #include unsigned long long limit = 100000000; unsigned long long i; unsigned long long n; int main() { int *is_prime = malloc(1000000001 * sizeof(is_prime)); for (i = 2;i <= limit;i++) { is_prime[i] = 1; } for (n = 2;n <= sqrt(limit);n++) { if (is_prime[n]) { for (i = n * n;i <= limit;i += n) is_prime[i] = 0; } } for (n = 2;n <= limit;n++) { if (is_prime[n]) { printf("%d\n", n); free(is_prime); } } }