#include #include int main() { int i, j, n; int primes[1000]; // to indicate booleans printf("Enter number (< 1000): "); scanf("%d", &n); for (i = 0; i < n; i++) primes[i] = 1; // assume all are primes to start with primes[0] = 0; primes[1] = 0; // 0 and 1 are special cases for (i = 2; i < (int)(sqrt(n) + 1); i++) { if (primes[i] == 0) // no need to re-check a composite number continue; for (j = i + 1; j < n; j++) if ((j % i) == 0) // check for factors primes[j] = 0; // j has a factor and is not a prime } for (i = 0; i < n; i++) if (primes[i] == 1) // print only primes printf("%d ", i); printf("\n"); }