Задача к ЕГЭ по информатике на тему «одна функция» №5

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

F (1) = 1  , F(2) = 1  , F (3) = 1

F (n) = F(n − 1) +F (n− 3)+ F (n ∕3)  , если 3 » class=»math» width=»auto»> и четно

F (n) = F(n − 2) +F (n− 1)  , если 3 » class=»math» width=»auto»> и нечетно

Чему будет равно значение, вычисленное при выполнении вызова F(30)  ?

def F(n):
    if n == 1 or n == 2 or n == 3:
        return 1
    if n > 3 and n % 2 == 0:
        return F(n - 1) + F(n - 3) + F(n // 3)
    if n > 3 and n % 2 != 0:
        return F(n - 2) + F(n - 1)

print(F(30))

Ответ: 248055
Оцените статью
Я решу все!