Задание №4501. Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(n) = 1 при n < 3; F(n) = F(n − 2) − F(n − 1), если n > 2 и при этом n чётно; F(n) = 2 · F(n − 1) − F(n − 2), если n > 2 и при этом n нечётно. Чему равно значение функции F(31)?

Задание №4501.
Вычисление рекуррентных выражений. ЕГЭ по информатике

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

F(n) = 1 при n < 3;

F(n) = F(n − 2) − F(n − 1), если n > 2 и при этом n чётно;

F(n) = 2 · F(n − 1) − F(n − 2), если n > 2 и при этом n нечётно.

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

Пояснение:
Решим задание, написав программу на языке программирования Python.

def f(n):
    if n < 3:
        return 1
    elif n > 2 and n % 2 == 0:
        return f(n-2) - f(n-1)
    elif n > 2 and n % 2 != 0:
        return 2 * f(n-1) - f(n-2)
print(f(31))

Таким образом, значение функции F(31) равно 114243.

Показать ответ

Источник: ФИПИ. Открытый банк тестовых заданий
Сообщить об ошибке


Тест с похожими заданиями