Лашин-1
from functools import lru_cache
@lru_cache(None)
📌 Результат: подключается декоратор lru_cache, который запоминает уже вычисленные значения функции. Это нужно, чтобы не считать одно и то же много раз — иначе программа работала бы очень медленно.
def g(n):
if n <= 6:
return 5**n
return g(n - 3) + 2
📌 Результат: функция G(n) реализует условия задачи.
если n <= 6, возвращается 5**n
если n > 6, возвращается G(n - 3) + 2
def f(n):
return g(n - 50000) + g(n + 50000)
📌 Результат: функция F(n) реализует условия задачи.
возвращается G(n - 50000) + G(n + 50000)
for i in range(7, 150001):
g(i)
📌 Результат: функции вызываются для значений от 7 до 150000. Все значения заранее вычисляются и сохраняются в кэше — дальнейшие обращения будут мгновенными.
print(f(100000))
📌 Результат: итоговое значение выражения F(100000) выводится на экран — ответ задачи: 152076.
(В. Лашин) Алгоритм вычисления значения функции F(n) и G(n), где n – целое число, задан следующими соотношениями:
F(n) = G(n − 50000) + G(n + 50000)
G(n) = 5n, если n≤ 6
G(n) = G(n − 3) + 2, если n > 6
Чему равно значение выражения F(100000)?
Время решения
00:00.00
Нажмите «Пуск», когда начнёте решать
Пробел — пуск и пауза
Поверните телефон
Горизонтальный режим удобнее для таблицы и Python-кода