(PRO100 ЕГЭ) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:
Например, для исходного числа \(6_{10} = 110_2\) результатом является число \(1010_2 = 10_{10},\) а для исходного числа \(4_{10} = 100_2\) результатом является число \(10011_2 = 19_{10}.\)
Укажите минимальное число \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) большее \(68.\) В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
if bn.count('1') % 2 == 0:
bn = '101' + bn[3:] + '0'
else:
bn = '10' + bn[2:] + '11'
return int(bn, 2)
#print(R(6), R(4))
for N in range(4, 70):
if R(N) > 68:
print(N)
break
Ответ: \(19\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене