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

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

F (n) = 2n  , при n < 4

F (n) = 2∗ F(n− 1)+ F (n ∕2)  , если n > 3  » class=»math» src=»/images/inform/quest/quest-1980-6.svg» width=»auto»> и четно </p>
<p class= F (n) = F(n − 2) +2 ∗n + 1+ F(n∕3)  , если n > 3  » class=»math» src=»/images/inform/quest/quest-1980-8.svg» width=»auto»> и нечетно </p>
<p class= Чему будет равно значение, вычисленное при выполнении вызова F(128)  ?

def f(n):
 
    if n < 4:
 
        return 2 ** n
 
    elif n > 3 and n % 2 == 0:
 
        return 2 * f(n — 1) + f(n // 2)
 
    elif n > 3 and n % 2 != 0:
 
        return f(n — 2) + 2 * n + 1 + f(n // 3)
 
print(f(128))

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