НОД будем находить при помощи Эвклидового алгоритма, а НОК - по формуле: .
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.