СРОЧНО Напишите процедуру, которая вычисляет наибольший общий делитель и наименьшее общее кратное двух натуральных чисел и возвращает их через изменяемые параметры Только через процедуры!
Answers & Comments
denismas2012// PascalABC.NET 3.2, сборка 1385 от 14.02.2017 // Внимание! Если программа не работает, обновите версию!
procedure NOD_NOK(a,b:integer; var NOD,NOK:integer); begin (var p,var q):=(a,b); while q>0 do (p,q):=(q,p mod q); NOD:=p; NOK:=a*b div NOD end;
begin var a,b,c,d:integer; Read(a,b); NOD_NOK(a,b,c,d); Writeln('НОД=',c,', НОК=',d) end.
Answers & Comments
// Внимание! Если программа не работает, обновите версию!
procedure NOD_NOK(a,b:integer; var NOD,NOK:integer);
begin
(var p,var q):=(a,b);
while q>0 do (p,q):=(q,p mod q);
NOD:=p; NOK:=a*b div NOD
end;
begin
var a,b,c,d:integer; Read(a,b);
NOD_NOK(a,b,c,d);
Writeln('НОД=',c,', НОК=',d)
end.
Пример
138 42
НОД=6, НОК=966