Задание 16. Информатика. ЕГЭ. Поляков-7238

Просмотры: 93
Изменено: 24 ноября 2024

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

\(F(n) = n\), если \(n \geqslant 5000\),
\(F(n) = n \cdot F(n + 1)\), если \(n < 5000\) и \(n\) не делится на \(5\);
\(F(n) = n \cdot F(n + 2) / 5\), если \(n < 5000\) и \(n\) делится на \(5\).

Чему равно значение выражения \(F(4975) / F(4978)\)?

Решение:

Python


F = {5000: 5000, 5001: 5001}

for n in range(4999, 4974, -1):
    if n % 5:
        F[n] = n * F[n+1]
    else:
        F[n] = n * F[n+2] // 5

print(F[4975] // F[4978])

Ответ: \(4952115\)