fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. vector<int> sieve(int n){
  5.  
  6. vector<bool> prime(n+1, true);
  7. prime[0] = false;
  8. prime[1] = false;
  9. for (int i = 2; i <= sqrt(n); i++){
  10.  
  11. if(prime[i] == true){
  12.  
  13. for (int j = i*i ; j <= n; j += i){
  14. prime[j] = false;
  15. }
  16. }
  17.  
  18.  
  19. }
  20.  
  21. vector<int> result;
  22. for (int i = 2; i <= n; i++){
  23. if(prime[i]){
  24. result.push_back(i);
  25. }
  26. }
  27.  
  28. return result;
  29. }
  30. int main()
  31. {
  32. int n; cin >> n;
  33. vector<int> result = sieve(n);
  34. for (auto i : result){
  35. cout << i << " ";
  36. }
  37.  
  38. return 0;
  39. }
  40.  
  41.  
  42.  
Success #stdin #stdout 0s 5320KB
stdin
35
stdout
2 3 5 7 11 13 17 19 23 29 31