Teacher & coder

Задача № 99

Алгоритм вычисления значения функции \( F(n) \), где \( n \) — натуральное число, задан следующими соотношениями:

\( F(n) = n \), при \( n > 2024; \)
\( F(n) = n \cdot F(n + 1) \), если \( n \leqslant 2024. \)

Чему равно значение выражения \( \displaystyle \frac{F(2022)}{F(2024)} \)?

Можно скопировать и вставить все ответы сразу
Демонстрационный вариант 2024 года
Прокрути, чтобы прочитать решение задачи
Ты уверен, что хочешь это сделать?
Удачного чтения!

Решение

Такую задачу легко запрограммировать, но рекомендую пробовать решать аналитическим способом.

Думаем

Понаблюдаем, как ведёт себя функция. При \( n > 2024 \), то есть от 2025 и далее функция равна самому число. Например:

\( \displaystyle F(2025) = 2025; \)
\( \displaystyle F(2026) = 2026; \)
\( \displaystyle F(2027) = 2027. \)

Посмотрим, что происходит при \( n \leqslant 2024 \):

\( \displaystyle F(2024) = 2024 \cdot F(2025) = 2024 \cdot 2025; \)
\(\displaystyle \nobreak {F(2023) = 2023 \cdot 2024 \cdot F(2025) = 2023 \cdot 2024 \cdot 2025.} \)

Значение функции равно произведению всех чисел от \( n \) до 2025 включительно.

Опираясь на эти рассуждения перепишем выражение:

\( \displaystyle \nobreak {\frac{F(2022)}{F(2024)} = \frac{2022 \cdot 2023 \cdot \cancel{2024} \cdot \cancel{2025}}{\cancel{2024} \cdot \cancel{2025}} = 4090506} \)

Просто запрограммируем

# опишем функцию F(n)
def F(n):
    # при n больше 2024 возвращаем n
    if n > 2024: return n
    # во всех остальных случаях n * F(n+1)
    return n * F(n+1)


# вычисляем результат выражения
print(F(2022) // F(2024))

Артём Зинкин

Лучше не гуглить и подумать самостоятельно. Тест можно пройти несколько раз :)
Чтобы поделиться задачей с коллегами или друзьями, отправьте им ссылку :)
Забыл сказать, что у этой задачи есть подробное решение. Посмотрите его :)
Попробуйте решить эту задачу сами и посмотрите наши разборы похожих задач :)
Кстати, на ЕГЭ тоже нельзя копировать :)
Этим материалом удобно поделиться по прямой ссылке :)