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

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

F (0) = 0;

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

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

Сколько существует таких чисел n  , что 1 ≤ n ≤ 900  и F(n) = 9  ?

def f(n):
    if n == 0:
        return 0
    if (n > 0) and (n % 2 == 0):
        return f(n/2)
    if n % 2 != 0:
        return 1 + f(n - 1)
ans = 0
for n in range(1, 901):
    if f(n) == 9:
        ans += 1
print(ans)

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