Aide programme pascal a resoudre
punisher338
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
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
- Message programmé iphone - 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.