On souhaite écrire un programme C# 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".
Dans cet exercice nous réutilisons un algorithme déjà traité (algorithme du test de la primalité d'un nombre entier), nous rappelons ci-après un algorithme indiquant si un entier "nbr" est premier ou non :
using System; namespace csharp
{
class ApplicationGoldBach { static void Main(string[ ] args) {
int n;
System.Console.WriteLine("Entrez un nombre pair (0 pour finir) :"); while ( (n = Int32.Parse( System.Console.ReadLine( ) )) !=0 ){ generCouples(n); }
}
static bool EstPremier(int m) { int k ;
for (k = 2 ; k <= m / 2 ; k++) { if (m % k == 0) {
return false;
}
}
return true;
}
static void generCouples(int n) { if (n % 2 ==0) {
for (int a = 1; a <= n/2; a++) { int b;
b = n - a;
if ( EstPremier(a) && EstPremier(b) ) {
System.Console.WriteLine(n+" = "+a+" + "+b);
}
}
}
else System.Console.WriteLine("Votre nombre n'est pas pair !");
}
}
}
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.
Pas encore de commentaires.