Pascal програма “Знаходження НСК чисел”
16.03.2016Найменше спільне кратне (НСК) двох цілих чисел a, b називаємо найменше натуральне число, яке є кратним до обох цих чисел. Позначаємо НСК(a, b), в англомовній літературі LCM(a, b). Отже НСК(a, b) є найменшим натуральним числом, яке ділиться без залишку на обидва числа a, b. Означення можна – очевидним способом – узагальнити на довільну кількість аргументів.
Властивості• НСК(a, b)= НСК(b, a) (перестановка аргументів не змінює НСК).
• НСК(a, b, c, d) = НСК(НСК(a, b), НСК(c, d) )
• НСК(a, b) =|ab|/НСД(a, b), де НСД(a, b) найбільший спільний дільник чисел a, b.
Програма
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 a:array[1..100] of integer;
n,i:byte;
k:integer;
begin
write(‘Введіть к-сть елементів n=’);
readln(n);
writeln(‘Введіть елементи масиву: ‘);
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);
readln(a[i]);
end;
clrscr;
writeln(‘Масив:’);
for i:=1 to n do
write(a[i],’ ‘);
writeln;
k:=NOK(a[1],a[2]);
for i:=3 to n do k:=NOK(k,a[i]);
writeln(‘НСК елементів=’,k);
readln
end.