Задание 5. Информатика. ЕГЭ. Поляков-7891

Просмотры: 74
Изменено: 21 февраля 2025

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

  1. Строится двоичная запись числа \(N.\)
  2. Подсчитывается количество единиц и количество нулей в полученной двоичной записи.
  3. Эти числа переводятся в двоичную систему и записываются друг за другом без использования ведущих нулей: сначала количество нулей, затем количество единиц.

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

Решение:

В двоичном виде \(123_{10} = 1111011_2.\) Так как мы хотим получить минимальное число, то количество разрядов в числе \(R\) должно быть минимальным. Значит, количество единиц должно быть \(1011_2 = 11_{10},\) а нулей — \(111_2 = 7_{10}.\) Составим из них минимальное число. Для этого все единицы за исключением одной отправим в младшие разряды.


>>> s = '1' + '0' * 7 + '1' * 10
>>> int(s, 2)
132095

Ответ: \(132095\)