На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
Полученная таким образом запись является двоичной записью искомого числа \(R.\) Например, для исходного числа \(20 = 10100_2\) результатом является число \(1010011_2 = 83,\) а для исходного числа \(14 = 1110_2\) результатом является число \(111010_2 = 58.\) Укажите минимальное нечётное число \(N,\) для которого с помощью описанного алгоритма получается число, не меньшее \(1221.\) В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
bn += '11' if N % 5 == 0 else f'{N // 5:b}'
return int(bn, 2)
#print(R(20), R(14))
for N in range(3, 100000, 2):
if R(N) >= 1221:
print(N)
break
Ответ: \(77\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене