fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. bool is_prime( int z, vector < int > P )
  7. {
  8. bool ip = true;
  9. for ( int i = 0; P[ i ] * P[ i ] <= z && ip; ++i )
  10. ip = ip && ( z % P[ i ] != 0 );
  11. return ip;
  12. }
  13.  
  14. int mega_prime( int index )
  15. {
  16. vector < int > MP, P;
  17. P.push_back( 2 );
  18. for ( int x = 3; index > ( int )MP.size(); x += 2 )
  19. {
  20. if ( is_prime( x, P ) )
  21. {
  22. P.push_back( x );
  23. if ( is_prime( ( int )P.size(), P ) )
  24. MP.push_back( x );
  25. }
  26. }
  27. return MP.back();
  28. }
  29.  
  30. int main()
  31. {
  32. cout << mega_prime( 1 ) << endl;
  33. cout << mega_prime( 2 ) << endl;
  34. cout << mega_prime( 3 ) << endl;
  35. cout << mega_prime( 5 ) << endl;
  36. cout << mega_prime( 10 ) << endl;
  37. }
Success #stdin #stdout 0.01s 2860KB
stdin
Standard input is empty
stdout
3
5
11
31
109