[PASCAL] pgcd

pgcd [PASCAL] - Algo - Programmation

Marsh Posté le 27-01-2003 à 22:03:08    

Je n'arrive pas a coder une fonction (en pascal) qui me calcule le pgcd (plus grand commun diviseur) entre 2 nombres.
 
Quelqu'un peut m'aider ?'
 
MErci


Message édité par greeeg le 27-01-2003 à 22:06:11
Reply

Marsh Posté le 27-01-2003 à 22:03:08   

Reply

Marsh Posté le 27-01-2003 à 22:12:44    

greeeg a écrit :

Je n'arrive pas a coder une fonction (en pascal) qui me calcule le pgcd (plus grand commun diviseur) entre 2 nombres.
 
Quelqu'un peut m'aider ?'
 
MErci


 
mathématiquement t'es au point? La flamme de bezout brule-t-elle en toi?  [:tinostar]


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 27-01-2003 à 23:15:18    

SchnapsMann a écrit :


 
mathématiquement t'es au point? La flamme de bezout brule-t-elle en toi?  [:tinostar]  


 
ouais je pige comment on le fait en récursivité fonctionnelle (sous Scheme p.ex.).
 
Mais en Pascal je vois pas.... qqun l'a déja fait ???

Reply

Marsh Posté le 27-01-2003 à 23:55:47    

pour ceux que ca interesse :

Code :
  1. program pgcd (input,output);
  2. var x,y,max,min,i:integer;
  3. function calcul(min,max,i:integer):integer;
  4. begin
  5. while i>0 do
  6.       begin
  7.            if(((max mod i)=0) and ((min mod i)=0)) then
  8.                    begin
  9.                    write('Le pgcd est : ',i);
  10.                    calcul:=i;
  11.                    break;
  12.                    end
  13.            else
  14.                    i:=i-1;
  15.       end;
  16. end;
  17. begin
  18. write('Entrez x ');
  19. readln(x);
  20. write('Entrez y ');
  21. readln(y);
  22. if(x>y) then
  23. begin
  24.      max:=x;
  25.      min:=y;
  26. end
  27. else
  28. begin
  29.      max:=y;
  30.      min:=x;
  31. end;
  32. i:=min;
  33. writeln(calcul(min,max,i));
  34. end.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed