Advertisement
phamt

Prime numbers of given sum

Nov 6th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. // 10.21.2019
  2. // Sources: https://en.cppreference.com/w/cpp/io/manip/left,
  3. #include <iostream>
  4. #include <iomanip>
  5. #include <stdio.h>
  6. using namespace std;
  7.  
  8. bool isPrime(int n);
  9. bool showPrimePair(int n);
  10.  
  11. const int MAX = 100000;
  12.  
  13. // Function checks if number is prime
  14. //links to showPrimePair
  15. bool isPrime(int n) {
  16.     bool prime = true;
  17.     for (int i = 2; i <= n / 2; ++i)
  18.     {
  19.         if (n % i == 0) // condition for nonprime number
  20.         {
  21.             prime = false;
  22.             break;
  23.         }
  24.     }
  25.     return prime;
  26. }
  27.  
  28. // Function for showing prime pairs.  Integer as a Sum of Two Prime Numbers
  29. bool showPrimePair(int n) {
  30.     bool foundPair = true;
  31.     for (int i = 2; i <= n / 2; ++i)
  32.     // condition for i to be a prime number
  33.     {
  34.         if (isPrime(i) == 1)
  35.         {
  36.             // condition for n-i to be a prime number
  37.             if (isPrime(n - i) == 1)
  38.             {
  39.                 // n = primeNumber1 + primeNumber2
  40.                 std::cout << " " << std::left << std::setw(8) << n << " " << std::left << std::setw(8) << i << " " << std::left << std::setw(8) << n - i << endl;
  41.                 foundPair = true;
  42.                 break;
  43.             }
  44.         }
  45.     }
  46.     if (foundPair == false) {
  47.         cout << " Conjecture fails!" << endl;
  48.         return 0;
  49.     }
  50.     return foundPair;
  51. }
  52.  
  53. // Main program in listing conjectures for all even numbers from 4-100,000 along q/ 2 primes that add up to same number.
  54. int main()
  55. {
  56.     cout << "Goldbach's Conjecture by Tony Pham " << endl;
  57.     std::cout << std::left << std::setw(8) <<" Number " << std::left << std::setw(8) << " Prime " << std::left << std::setw(8) << " Prime " << endl;
  58.     for (int x = 0; x <= MAX; x+=2) {
  59.         showPrimePair(x);
  60.     }
  61.     cout << "Enter any character to quit: ";
  62.     cin.get();
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement