Java-programma om te controleren of een getal kan worden uitgedrukt als een som van twee priemgetallen

In dit programma leer je controleren of een bepaald getal kan worden uitgedrukt als een som van twee priemgetallen of niet. Dit wordt gedaan met behulp van loops en break-statements in Java.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java-methoden
  • Java voor Loop
  • Java if… else-instructie

Voorbeeld: geef een getal weer als som van twee priemgetallen

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

Uitvoer

 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17

In het bovenstaande voorbeeld hebben we de checkPrime()methode gemaakt om te bepalen of een getal een priemgetal is of niet. De methode keert terug trueals het doorgegeven getal een priemgetal is.

Hier hebben we een nummer 34 . Het programma probeert te controleren of 34 kan worden weergegeven als de som van twee priemgetallen.

Werking van programma

  • Eerst lopen we een forlus van i = 2 to number / 2.
  • Binnen de forlus hebben we twee ifuitspraken gebruikt. De eerste instructie controleert of i een priemgetal is of niet.
    Indien waar, controleert de tweede ifinstructie of het number - ieen priemgetal is of niet. Dit komt doordat de som van i en getal - i gelijk is aan getal.
  • Als de tweede stelling dat ook is true, kunnen we zeggen dat het getal 34 een geldige som is van twee priemgetallen.

Interessante artikelen...