fork download
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. bool is_prime(int m){
  6. if (m < 2) return false;
  7. if (m < 4) return true;
  8. if (!(m % 2) || !(m % 3)) return false;
  9. int limit = sqrt(m) + 1;
  10. for (int i = 5; i < limit; i += 6){
  11. if (!(m % i)) return false;
  12. if (!(m % (i+2))) return false;
  13. }
  14. return true;
  15. }
  16.  
  17. int prime_count(int k){
  18. if (k < 2) return 0;
  19. if (k == 2) return 1;
  20. int p_c = 1;
  21. for (int i = 3; i <= k; i += 2){
  22. p_c = p_c + is_prime(i);
  23. }
  24. return p_c;
  25. }
  26.  
  27. int main() {
  28. int n;
  29. cin >> n;
  30. int t [2*n];
  31. for (int i = 0; i < n * 2; i++){
  32. cin >> t[i];
  33. }
  34. for (int j = 0; j < 2 * n; j += 2){
  35. int a = t[j];
  36. int b = t[j + 1];
  37. int k = prime_count(b) - prime_count(a - 1);
  38. cout << k << endl;
  39. }
  40. return 0;
  41. }
Success #stdin #stdout 0.01s 5288KB
stdin
2
1 7
3 6
stdout
4
2