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

Автомат обрабатывает натуральное число N  по следующему алгоритму:

  1. Строится двоичная запись числа N  .
  2. В конец двоичной записи добавляются две цифры: 11  — если N  четное, 00  — если N  нечетное.
  3. Результат переводится в десятичную систему, затем от числа отнимается минимальное количество бит, которым можно закодировать N  чисел.
  4. Полученное число выводится на экран.

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

  1. Двоичная запись числа N : 111000.
  2. В конец добавляются цифры 11  , так как 1110002 = 5610  — четное число. Получается 11100011  .
  3. Результат переводится в десятичную систему. 111000112 = 22710  . От 227  отнимается число 6  , так как это минимальное количество бит, которым можно закодировать 56  чисел.
  4. На экран выводится 221.

Укажите минимальное N  , при котором автомат выведет на экран число 126  .

for i in range(10000):
    s = bin(i)[2::]
    if i % 2 == 0:
        s += ’11’
    else:
        s += ’00’
    x = int(s, 2) - len(bin(i-1)[2::])
    # n - натуральные
    # Например, n = 5
    # 000 = 1; 001 = 2; 010 = 3;
    # 011 = 4; 100 = 5
    if x == 126:
        print(i)

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