C ++ - Programm zum Überprüfen, ob eine Zahl als Summe zweier Primzahlen ausgedrückt werden kann

Beispiel, um zu überprüfen, ob eine vom Benutzer eingegebene Ganzzahl als Summe von zwei Primzahlen aller möglichen Kombinationen unter Verwendung von Funktionen ausgedrückt werden kann.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden C ++ - Programmierthemen kennen:

  • C ++ for Loop
  • C ++ if, if… else und Nested if… else
  • C ++ - Funktionen
  • Arten von benutzerdefinierten Funktionen in C ++

Dieses Programm nimmt eine positive Ganzzahl vom Benutzer und prüft, ob diese Zahl als Summe zweier Primzahlen ausgedrückt werden kann.

Wenn die Zahl als Summe zweier Primzahlen ausgedrückt werden kann, zeigt die Ausgabe die Kombination der Primzahlen.

Um diese Aufgabe auszuführen, wird eine benutzerdefinierte Funktion zum Überprüfen der Primzahl erstellt.

Beispiel: Überprüfen Sie, ob eine Zahl als Summe von zwei Primzahlen ausgedrückt werden kann

 #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; ) 

Ausgabe

 Geben Sie eine positive Ganzzahl ein: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

In diesem Programm verwenden wir die checkPrime()Funktion, um zu überprüfen, ob eine Zahl eine Primzahl ist oder nicht.

In main()nehmen wir eine Zahl vom Benutzer und speichern sie in der Variablen n.

Wir initialisieren auch ein boolVariablenflag auf false. Wir verwenden diese Variable, um zu bestimmen, ob die eingegebene Zahl als die Summe zweier Primzahlen ausgedrückt werden kann.

Wir iterieren dann eine Schleife von i = 2bis i = n/2. In jeder Iteration prüfen wir, ob i eine Primzahl ist oder nicht.

Wenn i eine Primzahl ist, prüfen wir, ob n - i eine Primzahl ist oder nicht.

Wenn n - i auch eine Primzahl ist, wissen wir, dass n als die Summe zweier Primzahlen i und n - i ausgedrückt werden kann.

Also drucken wir das Ergebnis auf dem Bildschirm und ändern den Wert des Flags in true. Ansonsten bleibt die Flagge erhalten false.

Dieser Vorgang wird fortgesetzt, bis die Schleife endet.

Wenn das Flag immer noch ist false, wissen wir, dass n nicht als Summe zweier Primzahlen ausgedrückt werden kann, und wir drucken diese Nachricht auf dem Bildschirm.

Interessante Beiträge...