Даны два числа а и в(положительные). составить алгоритм нахождения: а) наименьшего общего делителя; б) наименьшего общего кратного. напишите на паскале
НОД будем находить при Эвклидового алгоритма, а НОК - по формуле: .
program nod_nok; var a, b, g: integer; l: real; function Gcd(a, b: integer): integer; var t: integer; begin while b <> 0 do begin t := b; b := a mod b; a := t; end; Gcd := a; end; function Lcm(a, b, gcd: integer): real; begin Lcm := Abs( a * b ) / gcd; end; begin write('a = '); readln(a); write('b = '); readln(b); g := Gcd(a, b); writeln('НОД: ', g); l := Lcm(a, b, g); writeln('НОК: ', l:1:0); end.
program nod_nok;
var
a, b, g: integer;
l: real;
function Gcd(a, b: integer): integer;
var
t: integer;
begin
while b <> 0 do
begin
t := b;
b := a mod b;
a := t;
end;
Gcd := a;
end;
function Lcm(a, b, gcd: integer): real;
begin
Lcm := Abs( a * b ) / gcd;
end;
begin
write('a = ');
readln(a);
write('b = ');
readln(b);
g := Gcd(a, b);
writeln('НОД: ', g);
l := Lcm(a, b, g);
writeln('НОК: ', l:1:0);
end.