Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;
  4.  
  5. int input[20002][2];
  6. bool primes[1000002];
  7.  
  8. void dyz()
  9. {
  10. // Magiczne linijki
  11. ios_base::sync_with_stdio(0);
  12. cin.tie(0);
  13.  
  14. int n, big = 0;
  15. cin >> n;
  16.  
  17. for (int i = 0; i < n; i++)
  18. {
  19. cin >> input[i][0] >> input[i][1];
  20. if (input[i][1] > big)
  21. {
  22. big = input[i][1];
  23. }
  24. }
  25. big++;
  26.  
  27. // Sito
  28. memset(primes, true, big + 2);
  29. primes[0] = false;
  30. primes[1] = false;
  31.  
  32. for (int i = 2; i * i <= big; i++)
  33. {
  34. if (primes[i])
  35. {
  36. for (int j = i * i; j < big; j += i)
  37. {
  38. primes[j] = false;
  39. }
  40. }
  41. }
  42.  
  43. // Liczenie
  44. for (int i = 0; i < n; i++)
  45. {
  46. int start = input[i][0];
  47. int end = input[i][1];
  48. int counter = 0;
  49. for (int j = start; j <= end; j++)
  50. {
  51. if (primes[j])
  52. {
  53. counter++;
  54. }
  55. }
  56. cout << counter << "\n";
  57. }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement