Задача #3646

Рекурсия

Уровень ЕГЭ

(Р. Косов) Алгоритм вычисления функций F(n) и G(n), где n - целое число, задан следующими соотношениями:
F(n)=F(n+4)+3020, если n<31054;
F(n)=3×(G(n2)15), если n31054;
G(n)=G(n5)15, если n28;
G(n)=3×n4, если n<28.
Чему равно значение функции F(15)?

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

Ответ

23156080
from functools import *

@lru_cache(None)
def f(n):
if n < 31054:
return f(n+4) + 3020
else:
return 3 * (g(n-2) -15)

@lru_cache(None)
def g(n):
if n >= 28:
return g(n-5) - 15
else:
return 3 *n - 4

for i in range(400000):
g(i)
for i in reversed(range(400000)):
f(i)

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