0 Comentarios

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