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

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

  1. Строится двоичная запись числа N.
  2. К этой записи дописывается справа 10, если в двоичном коде числа N было чётное число единиц, и 11, если нечётное.
  3. К полученному результату дописывается ещё один ноль.

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

Укажите количество исходных чисел N, из которых с помощью этого алгоритма могут быть получены числа R, лежащие в диапазоне 128 ≤ R ≤ 256  .

c = 0
for n in range(1, 500):
    b = bin(n)[2:]
    if b.count(’1’) % 2 == 0:
        b += ’10’
    else:
        b += ’11’
    b += ’0’
    if int(b, 2) >= 128 and int(b, 2) <= 256:
        c += 1
print(c)

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