Bonjour,
Bonjour, tout le monde
je veux bien savoir comment calculer le ppcm(a,b) avec la methode recursive en pascal sans l'ajout d'un autre parametre à l'entête de la fonction sachant que je connais la methode itérative avec deux façons:
1ere methode:
function ppcm(a,b: integer):integer;
var i :integer;
begin
i:=1;
if a*b = 0 then ppcm :=0 else
begin
while a*i mod b <> 0 do
i:=i+1;
ppcm:=a*i;
end;
end;
2ème methode:
function ppcm(a,b: integer):integer;
var max,min :integer;
begin
if a*b = 0 then ppcm :=0 else
begin
if a>b then begin max :=a; min:=b ; end
else begin max :=b; min :=a; end;
while max mod min <> 0 do
max := max +(a+b-min);
ppcm:=max;
end;
end;
merci pour votre aide

var
r:integer;
begin
if (b = 0) then
ppcm := 0
else if (a mod b = 0) then
ppcm := a
else
ppcm:=( a div (a mod b))* ppcm(a,a mod b);
end;
Il faut remplacé "ppcm:=( a div r)* ppcm(b,r);" par "ppcm:=( a div r)* ppcm(a,r);"