Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<math.h>
  3. unsigned long long int ara1[5000010];
  4. int main ()
  5. {
  6. int i,j,test,c,a,b,n,e,v;
  7. int ara2[10000];
  8. unsigned long long int result;
  9. double x,y;
  10. int ara3[10000];
  11. for(i=0; i<10000; i++)
  12. {
  13. ara2[i]=1;
  14. ara3[i]=0;
  15. }
  16. for(i=2; i<=100; i++)
  17. {
  18. for(j=2; j*i<=2500; j++)
  19. {
  20. ara2[i*j]=0;
  21. }
  22. }
  23. ara3[0]=2;
  24. c=1;
  25. for(i=3; i<=10000; i++)
  26. {
  27. if(ara2[i]==1)
  28. {
  29. ara3[c]=i;
  30. c++;
  31. }
  32. }
  33.  
  34. for(i=1; i<=5000000; i++)
  35. {
  36. ara1[i]=i;
  37. n=sqrt(i);
  38. v=i;
  39. for(j=0; j<c && ara3[j]<=n; j++)
  40. {
  41. if(v%ara3[j]==0)
  42. {
  43. x=(1/(1.00*ara3[j]));
  44. x=1-x;
  45. y=ara1[i]*1.00;
  46. y=y*x;
  47. ara1[i]=1*y;
  48. while(v%ara3[j]==0)
  49. {
  50. v=v/ara3[j];
  51. }
  52. }
  53. }
  54. if(v!=1)
  55. {
  56. x=(1/(1.00*v));
  57. x=1-x;
  58. y=ara1[i]*1.00;
  59. y=y*x;
  60. ara1[i]=1*y;
  61. }
  62. ara1[i]=ara1[i]*ara1[i];
  63. }
  64. ara1[1]=0;
  65. for(i=2; i<=5000000; i++)
  66. {
  67. ara1[i]=ara1[i];
  68. ara1[i]=ara1[i]+ara1[i-1];
  69. }
  70. scanf("%d",&test);
  71. for(i=0; i<test; i++)
  72. {
  73. scanf("%d %d",&a,&b);
  74. result=ara1[b]-ara1[a-1];
  75. printf("Case %d: %llu\n",i+1,result);
  76. }
  77. return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement