На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа \(N\)) является двоичной записью искомого числа \(R.\) Укажите минимальное число \(N,\) после обработки которого автомат получает число, большее \(130.\)
Решение:
Python
def R(N):
bn = f'{N:b}'
bn += bn[-1]
bn += str(bn.count('1') % 2)
bn += str(bn.count('1') % 2)
return int(bn, 2)
for N in range(1, 200):
if R(N) > 130:
print(N)
break
Ответ: \(17\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене