Saleh127

uva 10533.cpp

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