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

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

  1. Строится двоичная запись числа N.
  2. Ивертируется последняя цифра двоичной записи числа N (0 заменяется на 1, 1 заменяется на 0)
  3. Все цифры полученной двоичной записи суммируются, ищется остаток от деления суммы на 2 и дописывается в конец числа (справа).
  4. Результат переводится в десятичную систему и выводится на экран.

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

Пример. Дано число N = 15. Алгоритм работает следующим образом:

  1. Двоичная запись числа N: 1111.
  2. Последняя цифра 1 заменяется на 0: 1110
  3. Дописывается бит четности: 11101
  4. На экран выводится число 29.

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

x=[]
for n in range(1,1000):
    nx=bin(n)[2:]
    if nx[-1]==’1’: nx=nx[:-1]+’0’
    else: nx=nx[:-1]+’1’
    a=nx.count(’1’)
    nx+=str(a%2)
    r=int(nx,2)
    if r>187: x.append((r,n))
x.sort()
print(x[0])

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