Задача #1783

Рекурсия

Уровень ЕГЭ

​Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:

F(n)=nприn<3;F(n)=F(n1)+F(n2)+1,еслиn>2иприэтомnнечётно;F(n)=i=1n1F(i),еслиn>2иприэтомnчётно.

Чему равно значение функции F(38)?

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

9182657279

Видео по задаче

from functools import lru_cache

@lru_cache(None)
def f(n):
if n < 3:
return n
if n > 2 and n % 2 == 1:
return f(n-1) + f(n-2) + 1
if n > 2 and n % 2 == 0:
sum_ = 0
for i in range(1, (n-1)+1):
sum_ += f(i)
return sum_

print(f(38))
Быстрый переход
Перейти к задаче