Advertisement
aurko96

Goldbach's Conjecture

Sep 10th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<math.h>
  4. int mx = 10000005;
  5. bool stat[10000005];
  6. void sieve()
  7. {
  8.     int i,j,sq=sqrt(mx);
  9.     for(i=4;i<=mx;i+=2)stat[i]=1;
  10.  
  11.     for(i=3;i<=sq;i+=2)
  12.     {
  13.         if(stat[i]==0)
  14.         {
  15.             for(j=i*i;j<=mx;j+=2*i)stat[j]=1;
  16.         }
  17.     }
  18. }
  19.  
  20. int main()
  21. {
  22.     sieve();
  23.     int k=0;
  24.     int n,t;
  25.     scanf("%d",&t);
  26.     while(t--)
  27.     {
  28.         k++;
  29.         scanf("%d",&n);
  30.         int x,i,flag=0;
  31.         for(i=2;i<=n/2;i++)
  32.         {
  33.             x = n - i;
  34.             if(i>x)
  35.             {
  36.                 break;
  37.             }
  38.             if(stat[x]==0 && stat[i]==0)
  39.             {
  40.                 flag++;
  41.                 //printf("%d = %d + %d\n",n,i,x);
  42.                 //break;
  43.             }
  44.         }
  45.         printf("Case %d: %d\n",k,flag);
  46.         /*if(flag==0)
  47.         {
  48.             printf("Goldbach's conjecture is wrong.\n");
  49.         }*/
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement