Advertisement
iocoder

1000th Prime number

Aug 9th, 2012
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.49 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define MAX_N 100000
  4. unsigned char prime[MAX_N+1];
  5.  
  6. int main() {
  7.     unsigned int i, j, count = 0;
  8.    
  9.     // Assume everything is prime:
  10.     for (i = 0; i <= MAX_N; i++)
  11.         prime[i] = 1;
  12.    
  13.     // 0 and 1 are not primes:
  14.     prime[0] = prime[1] = 0;
  15.  
  16.     // Generate Prime Numbers <Sieve>:
  17.     for (i = 2; i <= MAX_N; i++)
  18.         if (prime[i]) {
  19.             if (++count == 1000) {
  20.                 printf("%d\n", i);
  21.                 return 0;
  22.             }
  23.             for (j = i*i; j <= MAX_N; j+=i)
  24.                 prime[j] = 0;
  25.         }
  26.    
  27.     return 0;
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement