Advertisement
bappi2097

Matha Nosto

Sep 9th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4. #define maxSz 10000007
  5. int mark[maxSz];
  6. vector<int> vec;
  7. vector<int>::iterator it1,it2;
  8. void sieve(int n)
  9. {
  10.     int cnt=0;
  11.     mark[1]=1;
  12.     mark[2]=0;
  13.     for(int i=4;i<=n;i+=2)mark[i]=1;
  14.     for(int i=3;i*i<=n;i+=2)
  15.     {
  16.         if(!mark[i])
  17.         {
  18.             for(int j=i*i;j<=n;j+=i*2)
  19.             {
  20.                 mark[j]=1;
  21.             }
  22.         }
  23.     }
  24.     for(int i=1;i<=maxSz;i++)if(!mark[i])vec.push_back(i);
  25.  
  26.     return;
  27. }
  28. int main()
  29. {
  30.     ios_base::sync_with_stdio(false);
  31.     cin.tie(NULL);
  32.     #ifndef ONLINE_JUDGE
  33.     freopen("input.cpp","r",stdin);
  34.     //freopen("output.cpp","w",stdout);
  35.     #endif // ONLINE_JUDGE
  36.     sieve(maxSz);
  37.     int a,b;
  38.     while(cin>>a>>b && a!=0 && b!=0)
  39.     {
  40.         int cnt=0;
  41.         if(a%2==1)a++;
  42.         if(b%2==1)b--;
  43.         for(int i=a;i<=b;i+=2)
  44.         {
  45.             it1=upper_bound(vec.begin(),vec.end(),i);
  46.             int in=distance(vec.begin(),it1)-1;
  47.             for(int j=0,k=in;j<in/2 && k>in/2;j++,k--)if(vec[j]+vec[k]==i)cnt++;
  48.         }
  49.         cout<<cnt<<endl;
  50.     }
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement