English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo programma, imparerai a verificare se un numero dato può essere rappresentato come somma di due numeri primi. Questo è fatto utilizzando cicli e istruzioni break in Java.
Per completare questa attività, è stata creata la funzione checkPrime().
checkPrime() restituirà 1, se il numero passato alla funzione è unNumeri primi.
public class CheckPrime { public static void main(String[] args) { int number = 34; boolean flag = false; for (int i = 2; i <= number / 2; ++i) { // i è la condizione di un numero primo if (checkPrime(i)) { // n-i è la condizione di un numero primo if (checkPrime(number - i)) { // n = primeNumber1 + primeNumber2 System.out.printf("%d = %d + %d\n", number, i, number - i); flag = true; } } } if (!flag) System.out.println(number + " Non può essere rappresentato come somma di due numeri primi."); } //Funzione di controllo dei numeri primi 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; } }
Quando si esegue questo programma, l'output è:
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17