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

Просмотры: 7
Изменено: 10 сентября 2024

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

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

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

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

Решение:

Python


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

print(F(12))

Ответ: 91080