Автомат обрабатывает натуральное число N по следующему алгоритму.
1. Строится двоичная запись числа N.
2. В конец двоичной записи добавляются две первые цифры этой записи в обратном порядке.
3. Результат переводится в десятичную систему и выводится на экран.
Пример. Дано число N = 11. Алгоритм работает следующим образом.
1. Двоичная запись числа N: 1011.
2. В конец записи добавляются цифры 01 — первые две цифры в обратном порядке (сначала вторая, затем первая), получается 101101.
3. На экран выводится число 45.
При каком наименьшем исходном N результат на экране автомата будет
Число на выходе должно превышать 7410 = 10010102, тогда исходное число N должно быть больше или равно 100102 = 1810.
Рассмотрим числа N, большие или
на экране автомата будет
1810 = 100102, результатом работы алгоритма будет число 10010012 = 7310, что
1910 = 100112, результатом работы алгоритма будет число 10011012 = 7710, что подходит под условие.
Таким образом, ответ — 19.
Ответ: 19.
Приведём другое решение на языке Python.
for n in range(2, 100): # начинаем с 2, так как число 1 имеет только одну цифру
s = bin(n)[2:] # перевод в двоичную систему
s = str(s)
s += s[1] + s[0]
r = int(s, 2) # перевод в десятичную систему
if r > 74:
print(n)
break

