Advertisement
sabertooth09

Untitled

Dec 9th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef unsigned long long ll;
  4. const ll N=1e6;
  5. ll ans[N*5+9];
  6. int prime[N+9];
  7. ll phii[N*5+9];
  8.  
  9. void init()
  10. {
  11.     for(ll i=1; i<=N; i++)
  12.         ans[i]=i;
  13. }
  14.  
  15. void setval(ll n)
  16. {
  17.     for(ll i=n; i<=N; i+=n)
  18.     {
  19.         ans[i]/=n;
  20.         ans[i]*=n-1;
  21.     }
  22. }
  23.  
  24. void phi()
  25. {
  26.     setval(2);
  27.     for(ll j=3; j*j<=N; j+=2)
  28.     {
  29.         if(prime[j]==0)
  30.         {
  31.             setval(j);
  32.             for(ll i=j*j; i<=N; i+=j)
  33.                 prime[i]=1;
  34.         }
  35.     }
  36. }
  37. void solve()
  38. {
  39.     for(ll i=2; i<=N; i++)
  40.     {
  41.         phii[i]=phii[i-1]+(ans[i]*ans[i]);
  42.     }
  43. }
  44.  
  45. int main()
  46. {
  47.     init();
  48.     phi();
  49.     solve();
  50.     ll test;
  51.     scanf("%llu",&test);
  52.     for(ll i=1; i<=test; i++)
  53.     {
  54.         ll a,b;
  55.         scanf("%llu %llu",&a,&b);
  56.         a--;
  57.         printf("Case %llu: %llu\n",i,phii[b]-phii[a]);
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement