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