Описать функцию NOKN(A,N) целого типа, находящую наименьшее общее кратное элементов целочисленного массива A размера N. С помощью этой функции найти наименьшие общие кратные элементов массивов A, B, C размера NA, NB, NC соответственно — Pascal(Паскаль)

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.

Leave a Comment

+ 5 = 7