Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. string increment(string n) {
  7. for (int i=n.size()-1; i>=0; i--) {
  8. n[i]++;
  9. if (n[i]=="3") {
  10. n[i] = "0";
  11. } else {
  12. break;
  13. }
  14. }
  15. return n;
  16. }
  17.  
  18. bool isPrime(long long n) {
  19. if( n <= 1 )
  20. return false;
  21. long long half = n / 2;
  22. for( long long i = 2; i <= half; i++ )
  23. if( isPrime(i) && n % i == 0 )
  24. return false;
  25. return true;
  26. }
  27.  
  28. int main() {
  29. vector<long long> primes {2, 3, 5, 7};
  30. vector<long long> firstdigit {3, 5, 7};
  31. string p = "1";
  32. long long number = 3;
  33.  
  34. while (number<1000000000000000) {
  35. if (isPrime(number)) {
  36. cout << number << endl;
  37. }
  38.  
  39. p = increment(p);
  40. if (p[p.size()-1] == "0") {
  41. p = increment(p);
  42. }
  43. number = 0;
  44. for (int i = 0; i<p.size(); i++) {
  45. number+=(primes[int(p.substr(i,1))]*pow(10, p.size()-i-1);
  46. }
  47. }
  48.  
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement