Задание 5. Информатика. ЕГЭ 2024. Крылов-7

На вход алгоритма подаётся натуральное число \(N\). Алгоритм строит по нему новое число \(R\) следующим образом.

  1. Строиться двоичная запись числа \(N\).
  2. Далее эта запись обрабатывается по следующему правилу:
    1. если количество значащих цифр в двоичной записи числа чётное, то к этой записи в середину дописывается \(1\);
    2. если количество значащих цифр в двоичной записи нечётное, то запись не изменяется.

Полученная таким образом запись является двоичной записью искомого числа \(R\).

Например, для исходного числа \(5 = 101_2\) результатом является число \(101_2 = 5_{10}\), а для исходного числа \(2_{10} = 10_2\) результатом является число \(110_2 = 6_{10}\).

Укажите минимальное число \(N\), после обработки которого с помощью этого алгоритма получается число \(R\), не меньшее, чем \(26\). В ответе запишите это число в десятичной системе счисления.

Решение:

Python


def R(N):
    temp = bin(N)[2:]

    s = len(temp)
    if s % 2 == 0:
        return int(temp[: s // 2] + '1' + temp[s // 2 :], 2)
    else:
        return N

N = 7
while R(N) < 26:
    N += 1

print(N)

Ответ: \(12\)