Ниже на пяти языках программирования записан рекурсивный алгоритм f. бейсик: function f(n) if n > 2 then f = f(n - 1) + f(n-2) else f = n end if end function python: def f(n): if n > 2: return f(n-1)+ f(n-2) else: return n паскаль: function f(n: integer): integer; begin if n > 2
then f : = f(n - 1) + f(n - 2) else f : = n; end; алгоритмический язык: алг цел f(цел n) нач если n > 2 то знач : = f(n - 1)+f(n - 2) иначе знач : = n все кон c: int f(int n) { if (n > 2) return f(n-1) + f(n-2); else return n; } чему будет равно значение, вычисленное алгоритмом при
выполнении вызова f(6)? с подробным описанием алгоритма решения .
Python:
def F(n):
if n > 2:
return F(n-1)+ F(n-2)
else:
return n
если n = 1 или n = 2, то F(n) = 1
F(1)=1
F(2)=1
F(3)=F(2)+F(1)=1+1=2
F(4)=F(3)+F(2)=2+1=3
F(5)=F(4)+F(3)=3+2=5
F(6)=F(5)+F(4)=5+3=8
ответ: F(6)=8