Programma Java per verificare se un numero può essere espresso come somma di due numeri primi

In questo programma imparerai a verificare se un dato numero può essere espresso come somma di due numeri primi oppure no. Questo viene fatto con l'aiuto di cicli e istruzioni break in Java.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:

  • Metodi Java
  • Java per Loop
  • Istruzione Java if … else

Esempio: rappresenta un numero come somma di due numeri primi

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

Produzione

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

Nell'esempio precedente, abbiamo creato il checkPrime()metodo per scoprire se un numero è primo o meno. Il metodo restituisce truese il numero passato è primo.

Qui abbiamo un numero 34 . Il programma cerca di verificare se 34 può essere rappresentato come la somma di due numeri primi.

Lavoro del programma

  • Innanzitutto, eseguiamo un forciclo da i = 2 to number / 2.
  • All'interno del forciclo, abbiamo utilizzato due ifistruzioni. La prima istruzione controlla se i è primo o meno.
    Se è vero, la seconda ifistruzione controlla se number - iè primo o meno. Questo perché la somma di i e numero - i è uguale a numero.
  • Se anche la seconda affermazione è true, allora possiamo dire che il numero 34 è una somma valida di due numeri primi.

Articoli interessanti...