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

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

  1. Строится двоичная запись числа N  .
  2. Складываются все цифры двоичной записи, и остаток от деления суммы цифр на 2  дописывается в конец числа (справа). Например, запись 11100  преобразуется в запись 111001  ;
  3. Шаг 2  повторяется еще один раз. Например, запись 111001  преобразуется в запись 1110010  ;

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

Укажите минимальное число R  , которое превышает 166  и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе.

for i in range(1, 1000000):
    s = bin(i)[2:]
    s += str(s.count(’1’) % 2)
    s += str(s.count(’1’) % 2)
    if int(s, 2) > 166:
        print(int(s, 2))
        break

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