Saleh127

Untitled

Jun 8th, 2020
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define maX 1000005
  4. bool pm[maX];
  5. int cnt[maX];
  6. void sieve()
  7. {
  8. int i,j,k,l;
  9. pm[0]=pm[1]=1;
  10. for(i=4;i<=maX;i+=2)
  11. {
  12. pm[i]=1;
  13. }
  14. for(i=3;i<=maX;i+=2)
  15. {
  16. if(pm[i]==0)
  17. {
  18. for(j=i*i;j<=maX;j+=i+i)
  19. {
  20. pm[j]=1;
  21. }
  22. }
  23. }
  24. }
  25. int sd(int n)
  26. {
  27. int an=0,r;
  28. while(n>0)
  29. {
  30. r=n%10;
  31. an+=r;
  32. n/=10;
  33. }
  34. return an;
  35. }
  36. int main()
  37. {
  38. int t,l,r,i,cn=0,m;
  39. sieve();
  40. for(i=0;i<=maX;i++)
  41. {
  42. m=sd(i);
  43. if(pm[i]==0 && pm[m]==0) cn++;
  44. cnt[i]=cn;
  45. }
  46. scanf("%d",&t);
  47. while(t--)
  48. {
  49. scanf("%d %d",&l,&r);
  50. printf("%d\n",cnt[r]-cnt[l-1]);
  51. }
  52. return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment