Вопрос задан 02.04.2018 в 11:23. Предмет Информатика. Спрашивает Бруцкая Влада.

Напишите рекурсивную и не рекурсивную функции вычисляющие НОД двух натуральных чисел с помощью

модифицированного алгоритма евклида
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Николаев Руслан.

Рекурсивная:
function NOD(x,y:integer):integer;
begin
 if x<>0 then NOD:=NOD(y mod x,x) else NOD:=y;
end;
var a,b:integer;
begin
write('a='); readln(a);
write('b='); readln(b);
writeln('НОД=',NOD(a,b));
end.

Не рекурсивная:
function NOD(x,y:integer):integer;
begin
while (x<>0)and(y<>0) do
 if x>y then x:=x mod y else y:=y mod x;
NOD:=x+y;
end;
var a,b:integer;
begin
write('a='); readln(a);
write('b='); readln(b);
writeln('НОД=',NOD(a,b));
end.

Пример:
a=125
b=50
НОД=25

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос