Задача #3643

Рекурсия

Уровень ЕГЭ

(Р. Косов) Алгоритм вычисления функций F(n) и G(n), где n - целое число, задан следующими соотношениями:
F(n)=F(n4)+3020, если n>40;
F(n)=3×(G(n2)15), если n40;
G(n)=10×n+50, если n301208;
G(n)=G(n+7)21, если n<301208.
Чему равно значение функции F(2026)?

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

Ответ

7826800
from functools import *

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

@lru_cache(None)
def g(n):
if n >= 301208:
return n*10 + 50
else:
return g(n+7) - 21

for i in reversed(range(301210)):
g(i)
for i in range(55000):
f(i)

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