Автомат обрабатывает натуральное число N по следующему алгоритму:
- Строится двоичная запись числа N.
- Складываются все цифры полученной двоичной записи. В конец записи (справа) дописывается остаток от деления суммы на 2.
- Предыдущий пункт повторяется для записи с добавленной цифрой.
- Результат переводится в десятичную систему и выводится на экран.
Какое наименьшее число, большее 34, может появиться на экране в результате работы автомата?
for n in range(1, 200):
b = bin(n)[2:]
b += str(b.count(’1’) % 2)
b += str(b.count(’1’) % 2)
if int(b, 2) > 34:
print(int(b, 2))
break
Ответ: 36