Алгоритм вычисления значения функции , где
— целое неотрицательное число, а «/» — целочисленное деление, задан следующими соотношениями:
, при
, если
, если
Чему будет равно значение, вычисленное при выполнении вызова
?
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))
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