Guest User

Untitled

a guest
Nov 17th, 2023
487
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.  
  4. #define ll long long
  5. const int N = 1e5;
  6. vector <int> required_prime;
  7.  
  8. void prime_numbers(int n) {
  9. vector <bool> all_prime(n+1, true);
  10. all_prime[0] = all_prime[1] = false;
  11. for(int i = 2; i <= n; ++i) {
  12. if(all_prime[i]) {
  13. required_prime.push_back(i);
  14. for(int j = i * i; j <= n; j += i)
  15. all_prime[j] = false;
  16. }
  17. }
  18. }
  19.  
  20. void prime(int m,int n) {
  21. if(m == 1) m++;
  22. vector<bool> p(n-m+1,true);
  23. prime_numbers(n);
  24. for(auto i : required_prime) {
  25. int sm = (m/i);
  26. if (sm <= 1) {
  27. sm = i + i;
  28. }
  29. else if (m % i) {
  30. sm = (sm * i) + i;
  31. }
  32. else {
  33. sm = (sm * i);
  34. }
  35. for(int j = sm; j <= n; j += i) {
  36. p[j-m] = false;
  37. }
  38. }
  39. for(int k = m; k <= n; ++k) {
  40. if(p[k-m] == true)
  41. cout << (k) << endl;
  42. }
  43. cout << endl;
  44. }
  45.  
  46. int main() {
  47. int t;
  48. cin >> t;
  49. while(t--) {
  50. int m,n;
  51. cin >> m >> n;
  52. prime(m,n);
  53. }
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment