from functools import lru_cache
@lru_cache(None)
📌 Результат: подключается декоратор lru_cache, который запоминает уже вычисленные значения функции. Это нужно, чтобы не считать одно и то же много раз — иначе программа работала бы очень медленно.
def f(n):
if n >= 10000:
return n
return f(n + 4) * (n - 4)
📌 Результат: функция F(n) реализует условия задачи.
возвращается n при n >= 10^4
возвращается F(n + 4) * (n - 4) при n < 10^4
for i in range(10003, 2011, -1):
f(i)
📌 Результат: предварительный прогон заполняет кэш вычисленными значениями функций.
f(2012) // 8 - 121 * f(2016)
📌 Результат: вычисляется промежуточное выражение F(2012) // 8 - 121 * F(2016) (числитель или часть формулы). Используется // — целочисленное деление.
print((f(2012) // 8 - 121 * f(2016)) // f(2020))
📌 Результат: итоговое значение выражения (F(2012) // 8 - 121 * F(2016)) // F(2020) выводится на экран — ответ задачи: 261560.
(Л. Шастин) Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями:
F(n) = n при n ≥ 104;
F(n) = F(n + 4) × (n − 4) при n < 104.
Чему равно значение выражения (F(2012)/8 − 121 × F(2016)) / F(2020)?
Поверните телефон
Горизонтальный режим удобнее для таблицы и Python-кода