Даны целые положительные числа 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.
сори в начале не понял, что нужен евклид, я исправился:
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.