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