*(PRO100 ЕГЭ) На вход алгоритма подаётся натуральное число \(N\) \((N > 10).\) Алгоритм строит по нему новое число \(R\) следующим образом:
Например, для исходного числа \(11_{10} = 1011_2\) результатом является число \(10110_2 = 22_{10},\) а для исходного числа \(20_{10} = 10100_2\) результатом является число \(101000100_2 = 324_{10}.\)
Укажите количество значений числа \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) меньшее \(680.\) В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
r = N % 10
bn += f'{r**2 // 2:b}' if r else bn[-4:]
return int(bn, 2)
print(len([N for N in range(11, 680) if R(N) < 680]))
Ответ: \(68\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене