#include const int MAXPRIMES = 1000000; int primes[MAXPRIMES]; int numPrimes = 0; int main() { int n; printf("n:\n"); if (scanf("%d", &n) < 1) return (-1); if (n > MAXPRIMES) n = MAXPRIMES; primes[0] = 2; primes[1] = 3; primes[2] = 5; primes[3] = 7; numPrimes = 4; int m = 11; while (numPrimes < n) { // Test whether m is prime bool prime = true; int i = 0; while ( i < numPrimes && // primes[i]*primes[i] <= m primes[i] <= m/primes[i] ) { if (m%primes[i] == 0) { // m is composite prime = false; break; } ++i; } if (prime) { // Add a prime m to the array primes[numPrimes] = m; ++numPrimes; } m += 2; } // Print the results for (int i = 0; i < n; ++i) { if (i > 0) { // Print a delimeter if (i%10 == 0) { printf("\n"); } else { printf(" "); } } printf("%d", primes[i]); } printf("\n"); return 0; }