Задание 16. Информатика. 2022-15

Просмотры: 297
Изменено: 25 ноября 2024

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

\(F(n) = 1\) при \( n = 1\);
\(F(n) = 2\) при \( n = 2\);
\( F(n) = \left[ \dfrac{7 \cdot n + F(n-3)}{9} \right] \), если \(n > 2\) и при этом \(n\) чётно;
\(F(n) = \left[ \dfrac{5 \cdot n + F(n-1) + F(n-2)}{7} \right] \), если \( n > 2\) и при этом \( n \) нечётно.

Чему равно значение функции \( F(50) \)?

Примечание. Квадратные скобки в записи \([x]\) применяются для обозначения целой части числа \(x\).

Решение:

Python


def F(n):
    if n == 1:
        return 1
    elif n == 2:
        return 2
    elif not n % 2:
        return (7 * n + F(n-3)) // 9
    else:
        return (5 * n +F(n-1) + F(n-2)) // 7

print(F(50))

Ответ: 43