Procedure f(n: integer): integer; begin if n > 1 then f : = f(n-1)*(n+1) else f : = 1; end; чему будет равно значение, вычисленное алгоритмом при выполнении вызова f(5)? как решать?

WiTaMiN111 WiTaMiN111    2   14.07.2019 22:20    1

Ответы
anastia15 anastia15  20.09.2020 18:27
Рекурсия будет выполняться до тех пор, пока n больше 1. При каждом шаге число 5 будет уменьшаться на единицу, при этом умножая значение функции на себя + 1. Так, функция вызовет сама себя 4 раза, после чего умножит себя на 1.
6[n=5]*5[n=4]*4[n=3]*3[n=2]*1[n=1]=360
N+1         6  5   4   3  2
Шаг         1  2   3   4  5
N             5  4   3   2  1
Условие tr  tr  tr  tr   fal=>f*1
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика