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

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

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

\(F(n) = n\), если \(n \geqslant 1300\),
\(F(n) = n \cdot F(n + 1)\), если \(n < 1300\) и \(n\) – нечётное;
\(F(n) = n \cdot F(n + 2) / 4\), если \(n < 1300\) и \(n\) – чётное.

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

Решение:

Python


F = {1300: 1300, 1301: 1301}

for n in range(1299, 1285, -1):
    if n % 2:
        F[n] = n * F[n+1]
    else:
        F[n] = n * F[n+2] // 4

print(F[1286] // F[1290])

Ответ: \(103523\)