Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
Алгоритм вычисления значения функции F(n) и G(n), где n – целое число, задан следующими соотношениями:
F(n) = F(n-4) + 3580, если n ≥ 19;
F(n) = 6 × (G(n-7) — 36), если n < 19;
G(n) = n / 20 + 28, если n ≥ 248045;
G(n) = G(n+9) — 4, если n < 248045;
Чему равно значение выражения F(673)?
Правильный ответ:
47
from functools import lru_cache
def f(n):
if n < 19:
return 6 * (g(n - 7) - 36)
else:
return f(n - 4) + 3580
@lru_cache()
def g(n):
if n < 248045:
return g(n + 9) - 4
else:
return n / 20 + 28
for n in range(600, 248045)[::-1]:
g(n)
print(f(673))
