Задача к ЕГЭ по информатике на тему «Запись числа в двоичной системе счисления» №3

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

  1. Строится двоичная запись числа N  .
  2. К этой записи слева дописывается ноль.
  3. Затем справа дописывается 1  , если в двоичном коде числа N  чётное число значащих нулей, и 0  , если нечётное.
  4. Шаг 3  повторяется.

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

for i in range(1, 1000):
    n = bin(i)[2:]
    # так как 0 дописывается слева, он незначащий
    n += str((n.count(’0’) % 2 == 0) * 1)
    n += str((n.count(’0’) % 2 == 0) * 1)
    n = int(n, 2)
    if n > 199:
        print(n)
        break

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