Algorithme nombre parfait

[Fermé]
Signaler
Messages postés
1
Date d'inscription
vendredi 1 avril 2016
Statut
Membre
Dernière intervention
1 avril 2016
-
 Profil bloqué -
comment ecrire un algorithme qui di si le nombre saisi est parfait ou pas
A voir également:

1 réponse


Un nombre parfait est égal à la somme de ses diviseurs (sauf lui même).
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
Les quatre premiers nombres parfaits sont : 1, 6, 28, 496, 8128


--------------------

program Si_N_Est_Parfait;

var N, I, Somme : Integer;

begin

N := 8128;

Somme := 1; // N / N = 1;
for I := 2 // Sauf le nombre lui meme N / 1 = N
to N div 2 do { La somme est initialisée à 1,
inutile d'allonger les divisions jusqu'à N / N }
if N mod I = 0 then
Somme := Somme + N div I;

if Somme = N then
WriteLn(N, ' est un nombre parfait') else
WriteLn(N, ' n''est pas un nombre parfait');

ReadLn;
{ TODO -oUser -cConsole Main : placez le code ici }
end.
                        
                
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Profil bloqué
Lire : Les quatre premiers nombres parfaits sont : 6, 28, 496, 8128