На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
Например, для исходного числа \(13_{10} = 1101_2\) результатом является число \(1110100_2 = 116_{10},\) а для исходного числа \(6_{10} = 110_2\) это число \(1111011_2 = 123_{10}.\)
Укажите наименьшее число \(R,\) превышающее \(95,\) которое может быть результатом работы данного алгоритма. В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = bin(N)[2:]
if N % 2 == 0:
bn = '11' + bn + '11'
else:
bn = '1' + bn + '00'
return int(bn, 2)
#print(R(13), R(6))
ans = [R(N) for N in range(5, 100) if R(N) > 95]
print(min(ans))
Ответ: \(100\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене