fork download
  1. //----->|try=0; while(!success) try++;|<------
  2. //----->|Belief Yourself,Respect Yourself|<----
  3. //----->|Be Proud Of Yourself,You're Doing Your best|<-----
  4. #include<bits/stdc++.h>
  5. using namespace std;
  6. #define uniq(x) x.erase(unique(x.begin(),x.end()), x.end()) //Unique value find from vector
  7. #define upper(arr,n,fixed) upper_bound(arr,arr+n,fixed)-arr //Upper value search;
  8. #define lower(arr,n,fixed) upper_bound(arr,arr+n,fixed)-arr //Lower value search;
  9. #define max3(a,b,c) max(max(a,b),c)//maximum value find three value;
  10. #define min3(a,b,c) min(min(a,b),c)//minimum value find three value;
  11. #define rep(i, n) for(int i = 0; i < n; ++i)
  12. #define REP(i, n) for(int i = 1; i <= n; ++i)
  13. #define rep1(i,start,n) for(int i=start;i<n;++i)
  14. #define PI acos(-1.0)//PI Calculation
  15. #define LL long long
  16. #define AND(a,b) ((a) & (b))
  17. #define OR(a,b) ((a)|(b))
  18. #define XOR(a,b) ((a) ^ (b))
  19. #define MP make_pair
  20. #define sqr(x) ((x)*(x))
  21. #define sqrt(x) sqrt(1.0*(x))
  22. #define INF_MAX 2147483647
  23. #define INF_MIN -2147483647
  24. #define MX 1000005
  25. #define MOD 1000000007
  26. template<typename T> T POW(T b,T p) //Pow calculation
  27. {
  28. T r=1;
  29. while(p)
  30. {
  31. if(p&1)r=(r*b);
  32. b=(b*b);
  33. p>>=1;
  34. }
  35. return r;
  36. }
  37.  
  38. template<typename T> T BigMod(T b,T p,T m) //BigMod Calculation
  39. {
  40. T r=1;
  41. while(p)
  42. {
  43. if(p&1)r=(r*b)%m;
  44. b=(b*b)%m;
  45. p>>=1;
  46. }
  47. return r;
  48. }
  49.  
  50. //||--------------------------->||Main_Code_Start_From_Here||<---------------------------------||
  51. bool prime[1000001];
  52.  
  53. void sieve(int l,int r)
  54. {
  55. int temp=0;
  56. memset(prime,true,sizeof(prime));
  57. for(int i=2; i<=sqrt(r); i++)
  58. {
  59. if((l%i) == 0)
  60. temp =l;
  61. else
  62. temp = i*((l/i)+1);
  63.  
  64. for(int j=max(2*i, temp); j<=r; j+=i)
  65. {
  66. prime[j-l]=false;
  67.  
  68. }
  69.  
  70. }
  71. }
  72.  
  73. int main()
  74. {
  75. int l,r;
  76. while(cin>>l>>r)
  77. {
  78. sieve(l,r);
  79. vector<int>v;
  80. //if(l==1) l=2;
  81. for(int i=max(l,2); i<=r; i++)
  82. {
  83. if(prime[i-l])
  84. //cout << i << "\n";
  85. v.push_back(i);
  86. }
  87. int cnt=0;
  88. for(int i=1; i<v.size(); i++)
  89. {
  90. if((abs(v[i]-v[i-1]))==2) cnt++;
  91. }
  92. cout<<cnt<<endl;
  93. }
  94. return 0;
  95. }
Success #stdin #stdout 0s 4452KB
stdin
3 13
stdout
3