Предмет: Информатика,
автор: твсвыогарг66
СРОЧНО
решите пожалуйста задачу
Pascal
Напишите процедуру, которая вычисляет наибольший общий делитель и наименьшее общее кратное двух натуральных чисел и возвращает их через изменяемые параметры.
Пример:
Введите два натуральных числа:
10 15
НОД(10,15)=5
НОК(10,15)=30
Ответы
Автор ответа:
1
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!
procedure НОДиНОК(a,b:integer; var НОД,НОК:integer);
begin
var c:=a*b;
while b>0 do (a,b):=(b,a mod b); // a - НОД
(НОД,НОК):=(a,c div a)
end;
begin
var (a,b):=ReadInteger2('Введите два натуральных числа:');
var НОД,НОК:integer;
НОДиНОК(a,b,НОД,НОК);
Writeln('НОД(',a,',',b,') = ',НОД);
Writeln('НОК(',a,',',b,') = ',НОК);
end.
// Внимание! Если программа не работает, обновите версию!
procedure НОДиНОК(a,b:integer; var НОД,НОК:integer);
begin
var c:=a*b;
while b>0 do (a,b):=(b,a mod b); // a - НОД
(НОД,НОК):=(a,c div a)
end;
begin
var (a,b):=ReadInteger2('Введите два натуральных числа:');
var НОД,НОК:integer;
НОДиНОК(a,b,НОД,НОК);
Writeln('НОД(',a,',',b,') = ',НОД);
Writeln('НОК(',a,',',b,') = ',НОК);
end.
Приложения:
Похожие вопросы
Предмет: Українська мова,
автор: alisa234691
Предмет: Українська мова,
автор: Аноним
Предмет: Українська мова,
автор: Аноним
Предмет: Математика,
автор: sashadikaya
Предмет: Литература,
автор: Аноним