Решение: Построение числа в двоичной записи
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом.
Строится двоичная запись числа $N$. Если число $N$ чётное, то к этой записи справа и слева дописываются по две единицы. Если число $N$ нечётное, то в конец двоичной записи справа дописываются два нуля, а в начало слева дописывается единица. Полученная запись является двоичной записью числа $R$. Результат переводится в десятичную систему счисления.
Например, для исходного числа $13_{10}=1101_2$ результатом является число $1110100_2=116_{10}$, а для исходного числа $6_{10}=110_2$ результатом является число $1111011_2=123_{10}$.
Укажите наибольшее число $R$, не превышающее $113$, которое может быть результатом работы данного алгоритма. Запишите ответ в десятичной системе счисления.
Решение по шагам
4 шагаПроверим числа, близкие к $113$, в двоичной системе счисления. Для результата, полученного из нечётного $N$, двоичная запись должна иметь вид $1b00$.
Число $108$ представляется в виде $1101100_2$. Отделяем первую единицу и два последних нуля: получаем $b=1011_2=11_{10}$.
Число $11$ нечётное, поэтому алгоритм действительно дописывает слева единицу, а справа два нуля: $1\,1011\,00_2=1101100_2=108_{10}$.
Числа $109$, $110$, $111$, $112$ не имеют требуемой структуры двоичной записи для соответствующего условия чётности исходного числа, поэтому наибольшим возможным результатом не больше $113$ является $108$.
Где здесь ошибаются
Проверяют только последние два разряда и не учитывают чётность исходного числа.
Забывают, что при нечётном $N$ слева дописывается одна единица, а справа — два нуля.
Переводят найденную двоичную запись в десятичную систему с ошибкой.