#include #include int numprimes (int m) { int i, j, n, is_prime, count; i = 0; /* start trying out prospective primes at 2 */ count = 0; n = 2; while (n <= m) { /* assume n is prime */ is_prime = 1; /* try to find a value of j that divides n */ for (j=2; is_prime && (j < n); j++) if (n % j == 0) is_prime = 0; n++; if (is_prime) count++; } return count; } int main (int argc, char *argv[]) { int n; /* if number of arguments not 2, give an error and exit */ if (argc != 2) { fprintf (stderr, "Usage: countprimes \n"); exit (1); } /* find out n */ n = atoi (argv[1]); /* print the number of primes */ printf ("F(%d) = %d\n", n, numprimes (n)); exit (0); }