nombre parfait

Aller en bas

nombre parfait

Message  Admin le Dim 17 Avr - 17:22

ÉNONCÉ
Un entier naturel est dit parfait s’il est égal à la somme de tous ses diviseurs autres que lui-même.
On se propose de chercher tous les entiers parfaits compris entre deux valeurs données m et n telles que 2<m<n.
1. Analyser ce problème en le décomposant en modules
2. Analyser chacun de ces modules
3. En déduire l’algorithme de résolution relatif à chacun de ces modules ainsi que celui du programme principal.

PASCAL
Program parfait;
uses wincrt;
var
n,m,i,somme:integer;

procedure saisie (var n,m : integer);
begin
repeat
writeln ('donner m'); readln(m);
until (m >2);
repeat
writeln ('donner n'); readln(n);
until (n >m);
end;

function sommeparfait (x:integer):integer;
var
s,j: integer;
begin
s:=1;
for j:=2 to x -1 do
begin
if (x mod j = 0) then s:=s+j;
end;
sommeparfait := s;
end;
begin
saisie (n,m);
for i:= m to n do
begin
somme:= sommeparfait(i);
if i= somme then writeln (i,'est parfait');
end;
end.


Admin
Admin

Messages : 137
Date d'inscription : 29/12/2010

Voir le profil de l'utilisateur http://aidescolaire.yoo7.com

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum