Advertisement
_Nishat_tasnim

Phi

Apr 18th, 2021
47
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. vector<int>Prime;
  4. int mark[10000007];
  5. int phi[10000007];
  6. int N=10000000;
  7. void SievePhi()
  8. {
  9. for(int i=1; i<=N; i++)
  10. {
  11. phi[i]=i;
  12. }
  13. mark[0]=mark[1]=1;
  14. Prime.push_back(2);
  15. phi[2]=1;
  16. for(int i=4; i<=N; i+=2)
  17. {
  18. mark[i]=1;
  19. phi[i]/=2;
  20. }
  21. for(int i=3; i<=N; i+=2)
  22. {
  23. if(mark[i]==0)
  24. {
  25. Prime.push_back(i);
  26. phi[i]=i-1;
  27. for(int j=i*2; j<=N; j+=i)
  28. {
  29. mark[j]=1;
  30. phi[j]=phi[j]/i*(i-1);
  31. }
  32. }
  33. }
  34. }
  35.  
  36. int main()
  37. {
  38. SievePhi();
  39. long long int a,b;
  40. scanf("%d",&N);
  41. for(long long int k=1; k<=N; k++)
  42. {
  43. long long int c=0;
  44. scanf("%lld%lld",&a,&b);
  45. for(long long int i=a; i<=b; i++)
  46. {
  47. c+=phi[i]*phi[i];
  48. }
  49. printf("Case %lld: %lld\n",k,c);
  50. }
  51. return 0;
  52. }
  53.  
  54.  
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement