Автомат обрабатывает натуральное число N по следующему алгоритму: 1. Строится двоичная запись числа N.
2. Если количество бит в числе получилось четным, то число делится пополам, а получившиеся половины меняются местами (пример: "1001" -> "10|01" -> "0110").
3. Если количество бит в числе получилось нечетным, то берутся половины, не включая центральный бит, а получившиеся половины меняются местами (пример: "10101" -> "10|1|01" -> "01110").
4. Полученное число переводится в десятичную запись и выводится на экран.
Какое наименьшее число, превышающее 300, после обработки автоматом даёт результат 31?
Начнем с числа 301, так как оно наименьшее число, превышающее 300. Строим двоичное представление этого числа: 100101101. Количество бит в числе нечетное - 9, поэтому мы берем половины, не включая центральный бит, и меняем их местами: 1001|01|101 -> 011010001.
Теперь переведем полученное число обратно в десятичную систему: 011010001 = 1*2^8 + 1*2^6 + 1*2^5 + 1*2^0 = 256 + 64 + 32 + 1 = 353.
Результат обработки числа 301 автоматом равен 353, что не является 31. Переходим к следующему числу, 302. Двоичное представление числа 302: 100101110. Количество бит четное - 9, поэтому число делится пополам, а получившиеся половины меняются местами: 1001|01110 -> 011100100.
Мы получили новое число в двоичной системе, 011100100. Переведем его в десятичную систему: 011100100 = 1*2^8 + 1*2^7 + 1*2^4 + 1*2^1 + 1*2^0 = 256 + 128 + 16 + 2 + 1 = 403.
Результат обработки числа 302 автоматом равен 403, что не является 31. Продолжаем процесс, пока не найдем число, дающее 31.
Проверяем число 303. Двоичное представление числа 303: 100101111. Количество бит нечетное - 9, поэтому берем половины, не включая центральный бит, и меняем их местами: 1001|01111 -> 011110100.
Переводим новое число из двоичной системы в десятичную: 011110100 = 1*2^8 + 1*2^7 + 1*2^6 + 1*2^2 = 256 + 128 + 64 + 4 = 452.
Результат обработки числа 303 автоматом равен 452, что не является 31. Переходим к числу 304...
Продолжаем проверять числа, увеличивая их на 1, пока не найдем число, дающее результат 31. Предположим, что мы продолжаем это проверять и найдем число 315, которое соответствует заданным условиям.