uses crt;
const max=100;
type mas=array[1..max] of integer;
function NOKN(a:mas;n:byte):integer;{основная функция НОК массива}
function NOD(x,y:integer):integer;{вспомогательная НОД 2х чисел}
Begin
If x<>0 then NOD:=NOD(y mod x,x) else NOD:=y;
End;
function NOK(x,y:integer):integer;{вспомогательная НОК 2х чисел}
Begin
NOK:=(x div NOD (x,y))*y;
end;
var k,i:integer;
begin
k:=NOK(a[1],a[2]);{находим нок 1-2}
for i:=3 to n do k:=NOK(k,a[i]);{нахрдим нок этого числа с остальными}
NOKN:=k;{}
end;
procedure Massiv(var a:mas;var n:byte;c:char);{создание массива}
var i:byte;
begin
writeln;
write('Размер массива ',c,' до ',max,' = ');
readln(n);
writeln('Введите элементы массива: ');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
writeln('Массив ',c);
for i:=1 to n do
write(a[i],' ');
writeln;
end;
var a,b,c:mas;
na,nb,nc:byte;
k:integer;
begin
clrscr;
Massiv(a,na,'A');
k:=NOKN(a,na);
writeln('Общий НОK всех элементов массива А=',k);
Massiv(b,nb,'B');
k:=NOKN(b,nb);
writeln('Общий НОK всех элементов массива B=',k);
Massiv(c,nc,'C');
k:=NOKN(c,nc);
writeln('Общий НОK всех элементов массива C=',k);
readln
end.