Advertisement
Guest User

Untitled

a guest
May 22nd, 2015
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include<iostream>
  2. #include<set>
  3. #include<stack>
  4. #include<cstdio>
  5. #include<cmath>
  6. #include<algorithm>
  7. #include<memory.h>
  8. #include<queue>
  9. #define ll long long
  10. using namespace std;
  11. const int N = 5000000;
  12. ll lp[N+1];
  13. ll a[N+1];
  14. int main()
  15. {
  16. memset(lp,0,sizeof(lp));
  17. vector<int> pr;
  18.  
  19. for (int i=2; i<=N; ++i) {
  20. if (lp[i] == 0) {
  21. lp[i] = i;
  22. pr.push_back (i);
  23. }
  24. for (int j=0; j<(int)pr.size() && pr[j]<=lp[i] && i*pr[j]<=N; ++j)
  25. lp[i * pr[j]] = pr[j];
  26. }
  27. memset(a,0,sizeof(a));
  28. for(int i=1;i<=N;i++)
  29. {
  30. if(!lp[i]) a[i] = 1; else a[i] = a[i/lp[i]] + a[lp[i]];
  31. }
  32. for(int i=2;i<=N;i++)
  33. a[i]+=a[i-1];
  34. a[0] = 0;
  35. int n;
  36. cin>>n;
  37. for(int i=0;i<n;i++)
  38. {
  39. int x,y;
  40. cin>>x>>y;
  41. cout<<a[x]-a[y]<<endl;
  42. }
  43.  
  44.  
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement