1. Составить программу нахождения наибольшего общего делителя (НОД) и наменьшего общего кратного (НОК) двух натуральных чисел НОК(А,В)=A*B/НОД(A,B)

Решение:

program Nod_n_Nok;
var a, b : longint;
function nod(a, b : longint) : longint;//функция

begin
if a = b then
nod := a
else if a > b then
nod := nod(b, a - b)
else
nod := nod(a, b - a)
end;
function nok(a, b : longint) : longint;//функция
begin
nok := ( a * b ) div nod(a, b);
end;
begin
while TRUE do begin
write('A = ');
readln(a);
if a < 1 then
break; //прекращение цикла
write('B = ');
readln(b);
if b < 1 then
break;//прекращение цикла
writeln('NOD: ', nod(a,b), '; NOK: ', nok(a, b));
end
end.