Задание 16. Информатика. Досрочный экзамен 2022

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

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

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

Решение:

Python


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


print(F(30))

Ответ: 58