Алгоритм вычисления функции F(n), где – натуральное число, задан следующими соотношениями:
, при <img src="/images/inform/quest/quest-3335-3.svg" alt="n
, когда
= 2 » class=»math» width=»auto»> и чётное
, когда
2 » class=»math» width=»auto»> и нечётное
Назовите минимальное значение n, для которого равно 31.
def f(n):
if n < 2:
return 1
if n >= 2 and n % 2 == 0:
return f(n // 2) + 1
if n > 2 and n % 2 != 0:
return f(n - 3) + 3
for i in range(1, 10000000):
if f(i) == 31:
print(i)
break
Ответ: 893