Решение: Двоичный алгоритм построения числа
На вход алгоритма подаётся натуральное число $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$, большее 29.
Решение по шагам
4 шагаПроверим значения $N$ начиная с наименьших. Для каждого числа строим двоичную запись и применяем указанное правило.
Для чисел от 1 до 10 получаются следующие значения: $R(1)=11$, $R(2)=7$, $R(3)=4$, $R(4)=13$, $R(5)=10$, $R(6)=8$, $R(7)=15$, $R(8)=25$, $R(9)=18$, $R(10)=20$. Ни одно из них не больше 29.
Для $N=11$ двоичная запись имеет вид $1011_2$. Сумма цифр равна 3, то есть является нечётной. Справа дописываем 1 и заменяем два левых разряда на 11.
$$1011_2 \to 10111_2 \to 11111_2$$Полученное число равно $31_{10}$, а $31>29$.
$$11111_2=31_{10}>29$$Где здесь ошибаются
Забывают сначала дописать справа бит, соответствующий чётности суммы цифр.
Заменяют не два левых разряда, а первые два разряда исходной записи.
Останавливаются на числе, для которого результат равен 29, хотя требуется результат, больший 29.