Автомат обрабатывает натуральное число N по следующему алгоритму:
1. Строится двоичная запись числа N.
2. Запись «переворачивается», то есть читается справа налево. Если при этом появляются ведущие нули, они отбрасываются.
3. Полученное число переводится в десятичную запись и выводится на экран.
Пример. Дано число N = 58. Алгоритм работает следующим образом. 1. Двоичная запись числа N: 111010. 2. Запись справа налево: 10111 (ведущий ноль отброшен). 3. На экран выводится десятичное значение полученного числа 23.
Какое наибольшее число, не превышающее 200, после обработки автоматом даёт результат 37?
for n in range(201):
b = bin(n)[2:]
b = b[::-1]
if int(b, 2) == 37:
print(n)
Ответ: 164