fork(2) download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. //https://stackoverflow.com/a/1801446
  5. bool is_prime(unsigned long long n) {
  6. if (n == 2 || n == 3)
  7. return true;
  8. if (n % 2 == 0 || n % 3 == 0)
  9. return false;
  10.  
  11. unsigned long long i = 5;
  12. unsigned long long w = 2;
  13. while (i * i <= n) {
  14. if (n % i == 0)
  15. return false;
  16.  
  17. i += w;
  18. w = 6 - w;
  19. }
  20. return true;
  21. }
  22.  
  23. unsigned long long prime(unsigned long long digits) {
  24. unsigned long long n = std::pow(static_cast<unsigned long long>(10), digits);
  25. while (!is_prime(++n))
  26. ;
  27. return n;
  28. }
  29.  
  30. int main() {
  31. for (int i = 0; i < 15; ++i)
  32. std::cout << prime(i) << '\n';
  33. }
Success #stdin #stdout 0.03s 15232KB
stdin
Standard input is empty
stdout
2
11
101
1009
10007
100003
1000003
10000019
100000007
1000000007
10000000019
100000000003
1000000000039
10000000000037
100000000000031