Помогите, пожалуйста! Заранее спасибо! Напишите программу вычисления наименьшего общего...

0 голосов
47 просмотров

Помогите, пожалуйста! Заранее спасибо!
Напишите программу вычисления наименьшего общего кратного следующих четырех чисел:36, 54, 18 и 15.
Используйте процедуру вычисления наибольшего общего делителя двух чисел


Информатика (102 баллов) | 47 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Для пары целых ненулевых чисел (a,b) существует соотношение
НОК(a,b)*НОД(a,b)=a*b

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
function gcd(a,b:integer):integer;
// НОД
begin
  while b<>0 do begin a:=a mod b; Swap(a,b) end;
  Result:=a
end;

function lcm(a,b:integer):=(a*b) div gcd(a,b); //НОК

begin
  var a:=36;
  var b:=54;
  var c:=18;
  var d:=15;
  Writeln('НОК(',a,',',b,',',c,',',d,')=',
    lcm(lcm(lcm(a,b),c),d))
end.

Тестовое решение:
НОК(36,54,18,15)=540

(142k баллов)