(Е. Джобс) Автомат обрабатывает десятичное натуральное число \(N\) по следующему алгоритму:
Пример. Дано число \(13.\) Оно преобразуется следующим образом:$$13 \to 133 \to 10000101_2 \to 100001011_2 \to 267.$$ Укажите минимальное число \(N,\) после обработки которого получится число, превышающее \(413.\)
Решение:
Python
def R(N):
N = N * 10 + N % 10
bn = f'{N:b}'
bn += str(bn.count('1') % 2)
return int(bn, 2)
#print(R(13))
print(min(N for N in range(1, 1000) if R(N) > 413))
Ответ: \(21\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене