Решение: Минимальное число по алгоритму
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Сначала строится двоичная запись числа $N$. Если число $N$ делится на 3, к этой записи дописываются три последние двоичные цифры. Если число $N$ на 3 не делится, остаток от деления умножается на 3, переводится в двоичную запись и дописывается в конец числа. Полученная запись является двоичной записью числа $R$, после чего результат переводится в десятичную систему. Например, для исходного числа $12_{10}=1100_2$ результатом является число $1100100_2=100_{10}$, а для исходного числа $4_{10}=100_2$ — число $10011_2=19_{10}$. Укажите минимальное число $N$, после обработки которого получается число $R$, не меньшее 200.
Решение по шагам
4 шагаДля чисел, делящихся на 3, к двоичной записи дописываются три последние двоичные цифры. Поэтому значение результата вычисляется как $R=8N+(N\bmod 8)$.
Среди чисел, меньших 26 и делящихся на 3, наибольшее число — 24. Для него $24_{10}=11000_2$, поэтому $R=11000000_2=192$, что меньше 200.
Для чисел, не делящихся на 3, при остатке 1 дописывается $11_2$, а при остатке 2 — $110_2$. Для наибольшего подходящего кандидата $N=23$ получаем $10111_2\,110_2=10111110_2=190$. При $N=25$ остаток равен 1, поэтому $R=11001_2\,11_2=1100111_2=103$.
Проверим $N=26$: $26_{10}=11010_2$, остаток при делении на 3 равен 2, поэтому дописывается $110_2$. Получаем $11010110_2=214_{10}$, то есть результат не меньше 200.
Где здесь ошибаются
Дописать двоичную запись остатка вместо записи числа, равного утроенному остатку.
Забыть, что при делимости на 3 дописываются именно три последние двоичные цифры записи числа.
Перевести полученную запись в десятичную систему с ошибкой.