Objectif : On souhaite écrire un programme Java afin de vérifier sur des exemples, la conjecture de GoldBach (1742), soit : "Tout nombre pair est décomposable en la somme de deux nombres premiers".
Spécifications de l’algorithme :
En deux étapes :1. On entre un nombre pair n au clavier, puis on génère tous les couples (a,b) tels que a + b = n, en faisant varier a de 1 à n/2. Si l'on rencontre un couple tel que a et b soient simultanément premiers la conjecture est vérifiée.
2. On peut alors, au choix soit arrêter le programme, soit continuer la recherche sur un autre nombre pair.
Exemple :
Pour n = 10, on génère les couples :
(1,9), (2,8), (3,7), (5,5)
on constate que la conjecture est vérifiée, et on écrit :
10 = 3 + 7
10 = 5 + 5
Implantation en Java
On écrira la méthode booléenne EstPremier pour déterminer si un nombre est premier, et la méthode generCouples qui génère les couples répondant à la conjecture.
Proposition de squelette de classe Java à implanter :
class ApplicationGoldBach {
static void main(String[ ] args) {
……..
}
static boolean EstPremier(int m) {
……..
}
static void generCouples(int n) {
……..
}
}