Robert_JR

Sieve of Eratosthenes

Aug 30th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.67 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int n = 1000000;
  5. int array[1000000];
  6.  
  7. void sieve()
  8. {
  9.     int i , j , k;
  10.     int sqr = sqrt(n);
  11.     for(i = 4; i <= n; i += 2)
  12.         array[i] = 1;
  13.  
  14.     array[0] = array[1] = 1;
  15.  
  16.     for(i = 3; i <= sqr; i += 2)
  17.     {
  18.         if(array[i] == 0)
  19.         {
  20.             for(j = i * 3; j <= n; j += i + i)
  21.             {
  22.                 array[j] = 1;
  23.             }
  24.         }
  25.     }
  26. }
  27.  
  28. int main()
  29. {
  30.     sieve();
  31.     int i , j ,k;
  32.     int num;
  33.  
  34.     while(~scanf("%d", &num))
  35.     {
  36.         if(array[num] == 0)
  37.             printf("Prime\n");
  38.         else
  39.             printf("Not Prime\n");
  40.     }
  41.  
  42.     return 0;
  43. }
Add Comment
Please, Sign In to add comment