Решение: Алгоритм дописывания битов
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом.
Строится двоичная запись числа $N$. К этой записи дописываются справа ещё два разряда по следующему правилу: складываются все цифры двоичной записи числа $N$, и остаток от деления суммы на 2 дописывается в конец числа (справа). Затем над полученной записью производятся те же действия — справа дописывается остаток от деления суммы её цифр на 2. Полученная запись является двоичной записью числа $R$.
Укажите минимальное число $R$, которое превышает число 127 и может являться результатом работы данного алгоритма. Ответ запишите в десятичной системе счисления.
Решение по шагам
4 шагаЧисло $R$ должно быть больше 127, поэтому его двоичная запись должна содержать не менее восьми разрядов. Для минимального подходящего числа рассматриваем восьмиразрядные записи.
$$127_{10}=1111111_2$$Первые шесть разрядов записи $R$ являются двоичной записью числа $N$. Чтобы получить минимальное число, начинаем с минимальной восьмиразрядной записи, превышающей $01111111_2$.
Для записи $10000010_2$ первые шесть разрядов — $100000_2$, то есть $N=32$. Сумма цифр записи $100000$ равна 1, поэтому первый дописанный разряд равен $1$. Сумма цифр записи $1000001$ равна 2, поэтому второй дописанный разряд равен $0$.
$$100000_2\rightarrow1000001_2\rightarrow10000010_2$$Переведём полученную запись в десятичную систему счисления.
$$10000010_2=128+2=130$$Где здесь ошибаются
Рассматривать только исходное число $N$, не учитывая два дописанных разряда.
Неверно вычислять остаток от деления суммы цифр на 2.
Записывать ответ в двоичной, а не в десятичной системе счисления.