In diesem Programm lernen Sie zu prüfen, ob eine bestimmte Zahl als Summe von zwei Primzahlen ausgedrückt werden kann oder nicht. Dies geschieht mit Hilfe von Schleifen und break-Anweisungen in Java.
Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:
- Java-Methoden
- Java für Loop
- Java if… else-Anweisung
Beispiel: Stellen Sie eine Zahl als Summe zweier Primzahlen dar
public class Main ( public static void main(String() args) ( int number = 34; boolean flag = false; for (int i = 2; i <= number / 2; ++i) ( // condition for i to be a prime number if (checkPrime(i)) ( // condition for n-i to be a prime number if (checkPrime(number - i)) ( // n = primeNumber1 + primeNumber2 System.out.printf("%d = %d + %d", number, i, number - i); flag = true; ) ) ) if (!flag) System.out.println(number + " cannot be expressed as the sum of two prime numbers."); ) // Function to check prime number static boolean checkPrime(int num) ( boolean isPrime = true; for (int i = 2; i <= num / 2; ++i) ( if (num % i == 0) ( isPrime = false; break; ) ) return isPrime; ) )
Ausgabe
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
Im obigen Beispiel haben wir die checkPrime()
Methode erstellt, um festzustellen, ob eine Zahl eine Primzahl ist oder nicht. Die Methode gibt zurück, true
wenn die übergebene Zahl eine Primzahl ist.
Hier haben wir eine Nummer 34 . Das Programm versucht zu prüfen, ob 34 als Summe zweier Primzahlen dargestellt werden kann.
Arbeitsweise des Programms
- Zuerst führen wir eine
for
Schleife ausi = 2 to number / 2
. - Innerhalb der
for
Schleife haben wir zweiif
Anweisungen verwendet. Die erste Anweisung prüft, ob i eine Primzahl ist oder nicht.
Wenn true,if
prüft die zweite Anweisung, obnumber - i
es sich um eine Primzahl handelt oder nicht. Dies liegt daran, dass die Summe von i und Zahl - i gleich Zahl ist. - Wenn die zweite Aussage auch ist
true
, können wir sagen, dass die Zahl 34 eine gültige Summe von zwei Primzahlen ist.