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

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

F (0) = 0;

F (n) = F(n∕2),  если n > 0  » class=»math» src=»/images/inform/quest/quest-2317-6.svg» width=»auto»> и при этом <img decoding= чётно;

F (n) = 1+ F (n − 1),  если n  нечётно.

Назовите минимальное значение n,  для которого F (n) = 12.

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

for i in range(5000):
    if F(i) == 12:
        print(i)
        break
 

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