MCM entre dos números:Dados dos n meros enteros n y m, construir una función recursiva que calcule el mínimo común múltiplo entre ambos.
Versión iterativa:
program mcm;
uses crt;
var a,b: integer;
temp: integer;
function mcd (a,b:integer):integer;
begin
while (a>0) do
begin
temp:=a;
a:=b mod a;
b:=temp;
end;
mcd:=b;
end;
begin
writeln('Ingrese dos numeros para calcular el MCM entre ellos:');
readln(a);
readln(b);
temp:=a*b div mcd(a,b);
writeln('El MCM entre ',a,' y ',b,' es ',temp);
readkey;
end.
Versión recursiva:
program mcm;
uses crt;
var a,b: integer;
temp: integer;
function mcd (m,n:integer):integer;
var aux: integer;
begin
if (n > 0) then
begin
aux:=m mod n;
mcd:=mcd(n,aux);
end
else
begin
mcd:=m;
end;
end;
begin
writeln('Ingrese dos numeros para calcular el MCM entre ellos:');
readln(a);
readln(b);
temp:=a*b div mcd(a,b);
writeln('El MCM entre ',a,' y ',b,' es ',temp);
readkey;
end.
Comentarios