Advertisement
Farjana_akter

Untitled

Mar 30th, 2020
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4. #define maxn 1000006
  5. bool mark[1000006+5];
  6. vector<ll>isprime;
  7.  
  8.  
  9. void sieve()
  10. {
  11. mark[0]=true;
  12. mark[1]=true;
  13. for(ll i=2;i*i<=maxn;i++)
  14. {
  15. if(mark[i]==false)
  16. {
  17. for(ll j=i*i;j<=maxn;j+=i)
  18. mark[j]=true;
  19. }
  20. }
  21.  
  22. for(ll i=2;i<=maxn;i++)
  23. {
  24. if(mark[i]==false)
  25. isprime.push_back(i);
  26. }
  27. }
  28.  
  29. int main()
  30. {
  31. sieve();
  32. ll n,i,j,cas=1,k,a,b,c,d,e;
  33. while(cin>>n && n)
  34. {
  35. ll ans=0;
  36. for(i=0;i<isprime.size();i++)
  37. {
  38. if(isprime[i]>=n)
  39. break;
  40. b=n-isprime[i];
  41. a=upper_bound(isprime.begin(),isprime.end(),b)-isprime.begin();
  42. // cout<<"A "<<a<<endl;
  43. a--;
  44. if(a<=i)
  45. break;
  46. ans+=(a-i);
  47. }
  48. cout<<"Case "<<cas++<<": "<<ans<<endl;
  49. }
  50. return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement