C ++ - program för att kontrollera om ett nummer kan uttryckas som summan av två primtal

Exempel för att kontrollera om ett heltal (inmatat av användaren) kan uttryckas som summan av två primtal av alla möjliga kombinationer med användning av funktioner.

För att förstå detta exempel bör du ha kunskap om följande C ++ programmeringsämnen:

  • C ++ för Loop
  • C ++ if, if… else och Nested if … else
  • C ++ - funktioner
  • Typer av användardefinierade funktioner i C ++

Detta program tar ett positivt heltal från användaren och kontrollerar om det talet kan uttryckas som summan av två primtal.

Om talet kan uttryckas som summan av två primtal, visar utgången kombinationen av primtal.

För att utföra denna uppgift skapas en användardefinierad funktion för att kontrollera primtal.

Exempel: Kontrollera om ett tal kan uttryckas som en summa av två primtal

 #include using namespace std; bool checkPrime(int n); int main() ( int n, i; bool flag = false; cout <> n; for(i = 2; i <= n/2; ++i) ( if (checkPrime(i)) ( if (checkPrime(n - i)) ( cout << n << " = " << i << " + " << n-i << endl; flag = true; ) ) ) if (!flag) cout << n << " can't be expressed as sum of two prime numbers."; return 0; ) // Check prime number bool checkPrime(int n) ( int i; bool isPrime = true; // 0 and 1 are not prime numbers if (n == 0 || n == 1) ( isPrime = false; ) else ( for(i = 2; i <= n/2; ++i) ( if(n % i == 0) ( isPrime = false; break; ) ) ) return isPrime; ) 

Produktion

 Ange ett positivt heltal: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

I det här programmet använder vi checkPrime()funktionen för att kontrollera om ett tal är primt eller inte.

I tar main()vi ett nummer från användaren och lagrar det i variabeln n.

Vi initialiserar också en boolvariabel flagga till false. Vi använder denna variabel för att avgöra om ingångsnumret kan uttryckas som summan av två primtal.

Vi upprepar sedan en slinga från i = 2till i = n/2. I varje iteration kontrollerar vi om jag är ett primtal eller inte.

Om jag är en prime, kontrollerar vi om n - i är prime eller inte.

Om n - i också är ett primtal, vet vi att n kan uttryckas som summan av två primtal i och n - i.

Så vi skriver ut resultatet på skärmen och ändrar flaggvärdet till true. Annars kvarstår flaggan false.

Denna process fortsätter tills slingan slutar.

Om flaggan är still false, vet vi att n inte kan uttryckas som summan av två primtal, och vi skriver ut det meddelandet på skärmen.

Intressanta artiklar...