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

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

\(F(n) = 1\) при \( n = 1\);
\( F(n) = n + F(n-1)\), если \(n\) чётно;
\(F(n) = 2 \cdot F(n-1) + F(n-2) \), если \( n > 1\) и при этом \( n \) нечётно.

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

Решение:

Python


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

print(F(20))

Ответ: 78731