Информатика, вопрос задал valerabolotin1995 , 7 лет назад

Ниже на пяти языках программирования записан рекурсивный алгоритм 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)?
С подробным описанием алгоритма решения пожалуйста.

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

Ответил SRT1905
0

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

Новые вопросы