В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
etre
etre
24.06.2022 03:53 •  Информатика

Напишите процедуру, которая вычисляет наибольший общий делитель и наименьшее общее кратное двух натуральных чисел и возвращает их через изменяемые параметры только через процедуры!

Ответ:
Sofya768Miller
Sofya768Miller
02.08.2020 21:19
// 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.

Пример
138 42
НОД=6, НОК=966
0,0(0 оценок)
Ответ:
solomeina2017
solomeina2017
02.08.2020 21:19

program qq; 
uses crt; 
procedure NOD_NOK(n1,n2:integer;var a,b:integer); 
var m:integer; 
begin 
if n1>n2 then m:=n1 else m:=n2; 
a:=m-1; 
repeat 
a:=a+1 
until ((a mod n1)=0) and ((a mod n2)=0); 
while n1<>n2 do 
if n1>n2 then n1:=n1-n2 else n2:=n2-n1; 
b:=n1; 
end; 
var y,x,a,b:integer; 
begin 
repeat 
writeln('Введите 2 натуральных числа:'); 
read(x,y); 
until(x>0)and(y>0); 
NOD_NOK(x,y,a,b); 
writeln('NOD(',x,',',y,')=',b); 
writeln('NOK(',x,',',y,')=',a); 
end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?