На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
Полученная таким образом запись является двоичной записью искомого числа \(R.\) Например, для исходного числа \(20 = 10100_2\) результатом является число \(1010010_2 = 82,\) а для исходного числа \(14 = 1110_2\) результатом является число \(111001_2 = 57.\) Укажите максимальное нечётное число \(N,\) для которого с помощью описанного алгоритма получается число, не превышающее \(1261.\) В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
bn += '01' if N % 7 == 0 else f'{N // 7:b}'
return int(bn, 2)
# print(R(20), R(14))
print(max(N for N in range(3, 10000, 2) if R(N) <= 1261))
Ответ: \(315\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене