fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <cmath>
  4. using namespace std;
  5.  
  6. vector<int> seive (int n, int m)
  7. {
  8. vector<int> primes;
  9. vector<bool> state(m - n + 1, true);
  10.  
  11. for (int i = 2; i <= sqrt(m); i++)
  12. {
  13. int index = i*i - (n % i*i);
  14.  
  15. for (int j = i*i - (n % i*i); j < state.size(); j += i*i)
  16. state[j] = false;
  17. }
  18.  
  19. for (int i = 0; i < (m - n + 1); i++)
  20. if (state[i]) primes.push_back(i + n);
  21.  
  22. return primes;
  23. }
  24.  
  25. int main()
  26. {
  27. ios_base::sync_with_stdio(0);
  28. cin.tie(0);
  29. cout.tie(0);
  30.  
  31. int N, M;
  32. cin >> N >> M;
  33.  
  34. vector<int> a;
  35. a = seive(N, M);
  36.  
  37. //cout << seive(N, M).size();
  38.  
  39. for (int i = 0; i < a.size(); i++)
  40. cout << a[i] << ' ';
  41.  
  42. return 0;
  43. }
Success #stdin #stdout 0.01s 5476KB
stdin
1 10
stdout
1 2 4 5 6 8 9 10