Решение: Обработка двоичной записи числа
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Строится двоичная запись числа $N$. Если сумма цифр в двоичной записи числа чётная, к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10. Если сумма цифр нечётная, к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11. Полученная запись является двоичной записью числа $R$, которое затем переводится в десятичную систему. Например, для исходного числа $6_{10}=110_2$ результатом является число $1000_2=8_{10}$, а для исходного числа $4_{10}=100_2$ — число $1101_2=13_{10}$. Укажите максимальное число $N$, после обработки которого получается число $R$, не превышающее 19.
Решение по шагам
3 шагаПроверим наибольшие подходящие значения $N$. Для $N=12$ двоичная запись имеет вид $1100_2$. Сумма цифр равна 2, поэтому дописываем справа 0: $11000_2$, затем заменяем два левых разряда на 10 и получаем $10000_2$.
$$10000_2=16_{10}\leq19$$Для следующего числа $N=13$ имеем $1101_2$. Сумма цифр равна 3, поэтому дописываем справа 1: $11011_2$. Первые два разряда уже равны 11, поэтому результат не меняется.
$$11011_2=27_{10}>19$$Следовательно, $N=13$ уже не подходит, а $N=12$ даёт результат, не превышающий 19. Значит, максимальное подходящее число — 12.
Где здесь ошибаются
Забывают сначала дописать цифру справа, а затем выполнять замену первых двух разрядов.
Путают чётность суммы цифр двоичной записи с чётностью самого числа.
Переводят полученную запись в десятичную систему с ошибкой.