(ЕГЭ-2022) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
Например, для исходного числа \(6 = 110_2\) результатом является число \(1000_2 = 8,\) а для исходного числа \(4 = 100_2\) результатом является число \(1101_2 = 13.\) Укажите минимальное число \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) не меньшее, чем \(16.\)
Решение:
Python
def R(N):
bn = f'{N:b}'
if bn.count('1') % 2 == 0:
return int('10' + bn[2:] + '0', 2)
return int('11' + bn[2:] + '1', 2)
#print(R(6), R(4))
print(min(N for N in range(4, 100) if R(N) >= 16))
Ответ: \(8\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене