Задача #3645

Рекурсия

Уровень ЕГЭ

(Р. Косов) Алгоритм вычисления функций F(n) и G(n), где n - целое число, задан следующими соотношениями:
F(n)=F(n5)+1092, если n128;
F(n)=5×G(n7)+29,, если n<128;
G(n)=n15, если n>303728;
G(n)=G(n+8)/2109, если n303728.
Чему равно значение функции F(2049)?

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

Ответ

419359

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

from functools import *

@lru_cache(None)
def f(n):
if n >= 128:
return f(n-5) + 1092
else:
return 5 * g(n-7) + 29

@lru_cache(None)
def g(n):
if n > 303728:
return n - 15
else:
return g(n+8) / 2 - 109

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

for i in range(55000):
f(i)

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