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

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

F (n) = 1  , при <img src="/images/inform/quest/quest-3335-3.svg" alt="n

F (n) = F(n∕2)+ 1  , когда = 2 » class=»math» width=»auto»> и чётное

F (n) = F(n − 3) +3  , когда 2 » class=»math» width=»auto»> и нечётное

Назовите минимальное значение n, для которого F(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
Оцените статью
Я решу все!