from functools import lru_cache
@lru_cache(None)
📌 Результат: подключается декоратор lru_cache, который запоминает уже вычисленные значения функции. Это нужно, чтобы не считать одно и то же много раз — иначе программа работала бы очень медленно.
def f(n):
if n >= 2024:
return 1
return f(n + 2) + f(n + 4)
📌 Результат: функция F(n) реализует условия задачи.
если n >= 2024, возвращается 1
если n < 2024, возвращается F(n + 2) + F(n + 4)
for n in range(2024, 0, -1):
f(n)
📌 Результат: предварительный прогон заполняет кэш вычисленными значениями функций.
print(len({f(n) for n in range(1, 2025)}))
📌 Результат: итоговое значение выражения len({F(n) for n in range(1, 2025)}) выводится на экран — ответ задачи: 1013.
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n >= 2024.
F(n) = F(n + 2) + F(n + 4) при n < 2024.
Сколько различных натуральных чисел в области значений функции F(n)?
Время решения
00:00.00
Нажмите «Пуск», когда начнёте решать
Пробел — пуск и пауза
Поверните телефон
Горизонтальный режим удобнее для таблицы и Python-кода