Objectif : On souhaite écrire un programme java de calcul des n premiers nombres parfaits. Un nombre est dit parfait s’il est égal à la somme de ses diviseurs, 1 compris.
Exemple : 6 = 1+2+3 , est un nombre parfait.
Spécifications de l’algorithme :
l'algorithme retenu contiendra deux boucles imbriquées. Une boucle de comptage des nombres parfaits qui s'arrêtera lorsque le décompte sera atteint, la boucle interne ayant vocation à calculer tous les diviseurs du nombre examiné d'en faire la somme puis de tester l'égalité entre cette somme et le nombre.
Algorithme Parfait
Entrée: n Î N
Sortie: nbr Î N
Local: somdiv, k, compt Î Ndébut
lire(n);
compt ¬ 0;
nbr ¬ 2;
Tantque(compt < n) Faire
somdiv ¬ 1;
Pour k ¬ 2 jusquà nbr-1 Faire
Si reste(nbr par k) = 0 Alors // k divise nbr
somdiv ¬ somdiv + k
Fsi
Fpour ;
Si somdiv = nbr Alors
ecrire(nbr) ;
compt ¬ compt+1;
Fsi;
nbr ¬ nbr+1
Ftant
FinParfait
Implantation en Java
Ecrivez le programme Java complet qui produise le dialogue suivant à l’écran (les caractères gras représentent ce qui est écrit par le programme, les italiques ce qui est entré au clavier) :
Entrez combien de nombre parfaits : 4
6 est un nombre parfait
28 est un nombre parfait
496 est un nombre parfait
8128 est un nombre parfaitProposition de squelette de classe Java à implanter :
class ApplicationParfaits {
static void main(String[ ] args) {
……..
}
}La méthode main calcule et affiche les nombres parfaits