Dans ce programme, vous apprendrez à vérifier si un nombre donné peut être exprimé comme une somme de deux nombres premiers ou non. Cela se fait à l'aide de boucles et d'instructions break en Java.
Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:
- Méthodes Java
- Java pour Loop
- Instruction Java if… else
Exemple: Représenter un nombre comme la somme de deux nombres premiers
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; ) )
Production
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
Dans l'exemple ci-dessus, nous avons créé la checkPrime()
méthode pour déterminer si un nombre est premier ou non. La méthode retourne true
si le nombre passé est premier.
Ici, nous avons un numéro 34 . Le programme essaie de vérifier si 34 peut être représenté comme la somme de deux nombres premiers.
Fonctionnement du programme
- Tout d'abord, nous exécutons une
for
boucle à partir dei = 2 to number / 2
. - À l'intérieur de la
for
boucle, nous avons utilisé deuxif
instructions. La première instruction vérifie si i est premier ou non.
Si vrai, la deuxièmeif
instruction vérifie sinumber - i
est premier ou non. C'est parce que la somme de i et du nombre - i est égale au nombre. - Si la deuxième affirmation l'est également
true
, alors nous pouvons dire que le nombre 34 est une somme valide de deux nombres premiers.