Даны целые положительные числа A и B найдите их наименьшее общее кратное НОК используя алгоритм Евклида: НОК(A,B)=НОК(B,A mod B), если B не равен 0; NOK(A;0)=A
Ответы
сори в начале не понял, что нужен евклид, я исправился:
uses crt;
function NOD(m,n:integer):integer;
begin
If m<>0 then NOD:=NOD(n mod m,m) else NOD:=n;
end;
function NOK(m,n:integer):integer;
begin
NOK:=(m div NOD (m,n))*n;
end;
var x,y: integer;
begin
clrscr;
writeln('Vvedite x y :');
readln(x,y);
writeln (NOK(x,y));
readln;
end.
var
a, b, c, a1, b1:integer;
begin
Writeln('Введите A и B:');
Readln(a, b);
a1 := a;
b1 := b;
while b1 <> 0 do
begin
c := a1 mod b1;
a1 := b1;
b1 := c;
end;
if b <> 0 then
Writeln('НОК(', a,',', b,') = ', a div a1 * b)
else
Writeln('НОК(', a,',', b,') = ', a);
end.