На вход алгоритма подаётся натуральное число . Алгоритм строит по нему новое число
следующим образом.
- Строится двоичная запись числа
.
- К этой записи слева дописывается ноль.
- Затем справа дописывается
, если в двоичном коде числа
чётное число значащих нулей, и
, если нечётное.
- Шаг
повторяется.
Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа ) является двоичной записью искомого числа
. Укажите минимальное число
, большее
, которое могло получиться в результате работы автомата. В ответе это число запишите в десятичной системе.
for i in range(1, 1000):
n = bin(i)[2:]
# так как 0 дописывается слева, он незначащий
n += str((n.count(’0’) % 2 == 0) * 1)
n += str((n.count(’0’) % 2 == 0) * 1)
n = int(n, 2)
if n > 199:
print(n)
break
Ответ: 201