Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1.  
  2. #include<iostream>
  3. #include<cmath>
  4. #include<bitset>
  5. #include<vector>
  6. #include<queue>
  7. #include<cstring>
  8. #include<map>
  9. #include<set>
  10. #include<iomanip>
  11. #include<unordered_map>
  12. #include<math.h>
  13. #include<string>
  14. #include <algorithm>
  15. using namespace std;
  16. #define ll long long
  17. #define ld long double
  18. #define pb push_back
  19. #define mp make_pair
  20. #define integ __int128
  21. const ll MOD = 1e9 + 7;
  22. const int N = 4e4 + 3;
  23.  
  24. int a[N];
  25. int pr[20 * N];
  26. vector<int> primes;
  27. int n;
  28.  
  29.  
  30. int main()
  31. {
  32. ios_base::sync_with_stdio(false);
  33. cin.tie(0); cout.tie(0);
  34. srand(time(0));
  35. n = 4e4 + 3;
  36. // freopen("/Users/mitterr/Desktop/a.out" , "w" , stdout);
  37. vector<char> prime (n+1, true);
  38. prime[0] = prime[1] = false;
  39. for (int i = 2; i <= n; ++i)
  40. if (prime[i])
  41. {
  42. primes.pb(i);
  43. pr[i] = 1;
  44. if ( i * i <= n)
  45. {
  46. for (int j= i * i; j <= n; j += i)
  47. {
  48. prime[j] = false;
  49. }
  50. }
  51. }
  52. for(int i = 1; i < N; i++)
  53. {
  54. int p = i;
  55. int cnt = 0;
  56.  
  57. for(int j : primes)
  58. {
  59. if(j * j > p) break;
  60. while (p % j == 0)
  61. {
  62. p /= j;
  63. ++cnt;
  64. }
  65. }
  66. if(p > 1) ++cnt;
  67. a[i] = cnt;
  68. }
  69. // cin >> p;
  70. // cout << fact(p) << "\n";
  71. int l , r;
  72. cin >> l >> r;
  73. // l = r = 0;
  74. int ans = 0;
  75. for(int i = l; i <= r; ++i)
  76. {
  77. int p = i;
  78. int cnt = 0;
  79. for(int j : primes)
  80. {
  81. if(j * j> p ) break;
  82. while (p % j == 0)
  83. {
  84. p /= j;
  85. ++cnt;
  86. }
  87. }
  88. if(p < N)
  89. cnt += a[p];
  90. else ++cnt;
  91. // cout << i << " " << cnt << "\n";
  92. if(pr[cnt]) ++ans;
  93. }
  94. cout << ans << "\n";
  95. // cout << (double)clock() / CLOCKS_PER_SEC << "\n";
  96. // cout << ans << "\n";
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement