fork download
  1. #include <iostream>
  2. #include <cstring>
  3. #include <vector>
  4. #include <string>
  5. #include <stack>
  6. #include <map>
  7. #include <iomanip>
  8. #include <set>
  9. #include <algorithm>
  10. #include <cmath>
  11. #include <deque>
  12. #include <queue>
  13. #include <ostream>
  14. #include <math.h>
  15. //#pragma warning (disable : 4996)
  16. using namespace std;
  17. vector<int>primes;
  18. vector<int> prePrimes;
  19. const int MAXint = int(1e4+500);
  20.  
  21.  
  22. void SieveOfEratosthenes(int n)
  23. {
  24. bool prime[MAXint + 1];
  25. memset(prime, true, sizeof(prime));
  26. for (int p = 2; p*p <= n; p++)
  27. {
  28. if (prime[p] == true) {
  29. for (int i = p * p; i <= n; i += p)
  30. prime[i] = false;
  31. }
  32. }
  33. for (int p = 3; p <= n; p += 2)
  34. if (prime[p])
  35. primes.push_back(p);
  36. }
  37. int main() {
  38.  
  39. primes.push_back(2);
  40. SieveOfEratosthenes(MAXint);
  41. // for (auto x : primes) cout << x << "\n";
  42. for (int i = 0; i < primes.size() - 1; i++) {
  43. for (int j = i + 1; j < primes.size(); j++) prePrimes.push_back(primes[i] * primes[j]);
  44. }
  45. cout <<primes.size()<<"\n";
  46. cout << primes[primes.size()-1]<<"\n";
  47. // cout << primes[primes.size()/1] <<"\n";
  48. /*
  49. for (auto x : primes) prePrimes.push_back(x*x*x);
  50. sort(prePrimes.begin(), prePrimes.end());*/
  51. /*int n;
  52. cin >> n;
  53. cout << prePrimes[n - 1] << "\n";*/
  54. }
Success #stdin #stdout 0s 7104KB
stdin
Standard input is empty
stdout
1284
10499