Aide programme pascal a resoudre
punisher338
Messages postés
2
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour
écrire en pascal un programme qui permet de determiner les nombres parfaits entre deux entiers m et n donnés par avance telque 2˂m˂n
exemple : un nombre est dit parfait si la somme de ses diviseurs autre que lui est egale a lui meme par exemple (6=1+2+3) donc 6 est parfait
et merci d'avance de votre aide.
écrire en pascal un programme qui permet de determiner les nombres parfaits entre deux entiers m et n donnés par avance telque 2˂m˂n
exemple : un nombre est dit parfait si la somme de ses diviseurs autre que lui est egale a lui meme par exemple (6=1+2+3) donc 6 est parfait
et merci d'avance de votre aide.
A voir également:
- Aide programme pascal a resoudre
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Programme demarrage windows - Guide
- Programme word gratuit - Guide
3 réponses
program parfait;
uses wincrt;
var
begin
writeln('enter un entier m');
readln(m);
writeln('entrer un entier n');
readln(n);
repeat
writeln ('entrer un entier p');
readln(p);
until (p˂m) and (n˂p);
somme:=0;
for i:=1 to ( p div 2 ) do
if p mod 2 = 0 then somme:=somme+i;
if p=somme then writeln('l''entier est parfait ');
else writeln('l''entier est parfait');
end.
ou ol existe une autre solution pour affichier tous les entiers parfaits
on procede de la maniere suivante
begin
writeln('entrer un entier m');
readln(m);
writeln('entrer un entier n');
readln(n);
for i:=m to n do
somme:=0;
for j:= 1 to ( i div 2) do
if i mod j = 0 then somme:=somme+j;
if i=somme then writeln(i,' ');
end.
uses wincrt;
var
begin
writeln('enter un entier m');
readln(m);
writeln('entrer un entier n');
readln(n);
repeat
writeln ('entrer un entier p');
readln(p);
until (p˂m) and (n˂p);
somme:=0;
for i:=1 to ( p div 2 ) do
if p mod 2 = 0 then somme:=somme+i;
if p=somme then writeln('l''entier est parfait ');
else writeln('l''entier est parfait');
end.
ou ol existe une autre solution pour affichier tous les entiers parfaits
on procede de la maniere suivante
begin
writeln('entrer un entier m');
readln(m);
writeln('entrer un entier n');
readln(n);
for i:=m to n do
somme:=0;
for j:= 1 to ( i div 2) do
if i mod j = 0 then somme:=somme+j;
if i=somme then writeln(i,' ');
end.
Salut,
Il est très important de décomposer ton code en fonctions et procédures si tu veux arriver à quelque chose de facilement corrigible et donc d'arriver plus facilement à un programme correct.
Il est très important de décomposer ton code en fonctions et procédures si tu veux arriver à quelque chose de facilement corrigible et donc d'arriver plus facilement à un programme correct.
program punisher338;
function EstParfait(n:integer):boolean;
var i,s:integer;
begin
s:=0;
for i:=1 to (n div 2) do
if (n mod i)=0 then s:=s+i;
result:= (n=s);
end;
procedure AfficherNbParfait(min,max:integer);
var i:integer;
begin
for i:=min to max do
if EstParfait(i) then writeln(i);
end;
var a,b:integer;
begin
writeln('Affichage des nombres premiers compris entre a et b.');
writeln;
write('a = '); readln(a);
write('b = '); readln(b);
writeln;
AfficherNbParfait(a,b);
writeln; write('Fin du programme. Appuyer sur Entree'); readln;
end.