Program Example_11;
Var M, N: Integer;
Begin
Writeln('Введите два числа');
Readln(M,N); {вводим два целых числа}
If M>N Then M:=M Mod N
Else N:=N Mod M;
Until (M=0) Or (N=0);
{до тех пор, пока одно из чисел не станет равно нулю}
Writeln('НОД=', M+N)); {вывод НОД - без условного оператора, так как одно из чисел обязательно равно нулю}
Readln;
End.
нок:
program NOK;
uses crt;
function NOD(X,Y:integer):integer;
begin
If X<>0 then NOD:=NOD(Y mod X,X)
else NOD:=Y;
end;
function NOK(X,Y:integer):integer;
begin
NOK:=(X div NOD (X,Y))*Y;
end;
var M,N: integer;
begin
clrscr;
writeln('Ввод M и N :');
readln(M,N);
writeln (NOK(M,N));
readln;
end.