Algorithme
Calcul de  nombres parfaits
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  Î
   Sortie: nbr Î
   Local: somdiv, k, compt   Î N

dé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 parfait

Proposition de squelette de classe Java à implanter :
 

class ApplicationParfaits {
      static void main(String[ ] args) {
         ……..
      }
   }

La méthode main calcule et affiche les nombres parfaits

Remonter