Ianlsa
4 год назад
6.Определите,чтоделаетданныйалгоритм,иопишитенерекурсивный алгоритм, который делает то же самое. Какое значение высчитает процедура F после выполнения алгоритма, если a= 15, b= 70?Примечание:в качестве a и b на вход алгоритму подаются целые неотрицательные числа.
ОТВЕТЫ
Остап
Oct 24, 2020
1) при 15 и 70 выведет 5
2)
var a, b:integer;
begin
a:=15;
b:=70;
while (a <> 0) and (b <> 0) do begin
if a > b then a:= a - b
else b:= b - a;
end;
writeln(a+b);
end.
Можно заметить, что данный алгоритм является рекурсивной версией Алгоритма Евклида находящим НОК двух чисел.
Значит все, что нам нужно это переписать данный алгоритм в циклическом виде While
926
Смежные вопросы: