Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = (n + 1) × F(n — 1), если n > 1.
Чему равно значение выражения (F(2024) – 3 × F(2023)) / F(2022)?
Ответ:
ЕГЭ по информатике Основная волна (Центр) 19.06.2024 kompege.ru – задание №16
Решение:
Решение — Митаева Зарина Талгатовна
|
1 2 3 4 5 6 7 8 9 10 |
from functools import lru_cache @lru_cache(None) def f(n): if n==1: return 1 if n>1: return 2*n*f(n-1) for i in range(1, 2025): f(i) print((f(2024)//16 - f(2023))/f(2022)) |
Объяснение кода:
- Импорт библиотеки: Импортируется
lru_cacheиз библиотекиfunctoolsдля кэширования результатов функции. - Определение функции: Функция
f(n)определяет значение F(n) с использованием рекурсии и мемоизации. - Цикл для кэширования: Цикл
forпредварительно вычисляет значения функции для всех n от 1 до 2024. - Вычисление выражения: Используется формула
(F(2024) - 3 * F(2023)) / F(2022)для вычисления результата. - Вывод результата: Печатается результат вычислений.
Ответ: 4092528