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

Вопрос школьника по предмету Информатика

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

Ответ учителя по предмету Информатика

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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей