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