Решение: Построение числа R
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$. Сначала записывается двоичная запись числа $N$. Если $N$ чётное, справа дописывается $0$, а слева — $1$. Если $N$ нечётное, справа и слева дописываются по две единицы. Полученная запись является двоичной записью числа $R$. Например, для числа $13$ двоичная запись $1101$ преобразуется в запись $11110111$. Укажите наименьшее число $R$, превышающее $225$, которое может являться результатом работы алгоритма. Ответ запишите в десятичной системе счисления.
Решение по шагам
3 шагаРассмотрим чётное число $N$ с шестизначной двоичной записью. После добавления слева единицы и справа нуля получаем число вида $1\,\text{bin}(N)\,0$.
$$R = 2^{7} + 2N = 128 + 2N$$Требуется, чтобы $R > 225$, поэтому $128 + 2N > 225$, откуда $N > 48{,}5$. Наименьшее подходящее чётное число — $N=50$.
$$R = 128 + 2 \cdot 50 = 228$$Числа с меньшей длиной двоичной записи дают меньший результат, а при большей длине первая добавленная единица сразу увеличивает результат не менее чем до $256$. Следовательно, найденное значение является наименьшим.
Где здесь ошибаются
Забывают, что добавление нуля справа умножает число на 2.
Неверно учитывают разряд, добавленный слева.
Проверяют только одно значение $N$, не сравнивая результаты для разных длин двоичной записи.