Задание 5. Информатика. ЕГЭ. Поляков-7889
- Просмотры: 132
- Изменено: 21 февраля 2025
На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится двоичная запись числа \(N.\)
- Подсчитывается количество единиц и количество нулей в полученной двоичной записи.
- Эти числа переводятся в двоичную систему и записываются друг за другом без использования ведущих нулей: сначала количество единиц, затем количество нулей.
Полученная таким образом запись является двоичной записью искомого числа \(R.\) Укажите минимальное число \(N,\) для которого результатом работы алгоритма будет число \(156.\) В ответе запишите это число в десятичной системе счисления.
Решение:
В двоичном виде \(156_{10} = 10011100_2.\) Так как мы хотим получить минимальное число, то количество разрядов в числе \(R\) должно быть минимальным. Значит, количество единиц должно быть \(1001_2 = 9_{10},\) а нулей — \(1100_2 = 12_{10}.\) Составим из них минимальное число. Для этого все единицы за исключением одной отправим в младшие разряды.
>>> s = '1' + '0' * 12 + '1' * 8
>>> int(s, 2)
1048831
Ответ: \(1048831\)