На вход алгоритма подаётся натуральное число \(N\). Алгоритм строит по нему новое число \(R\) следующим образом.
Например, для исходного числа \(11 = 23_4\) результатом является число \(2312_4 = 182\), а для исходного числа \(12 = 30_4\) это число \(3030_4 = 204\).
Укажите максимальное число \(N\), после обработки которого с помощью этого алгоритма получается число \(R\), меньшее \(261\).
Решение:
Python
def conv(n):
res = ''
while n:
r = n % 4
n //= 4
res = str(r) + res
return res
def R(N):
ans = conv(N)
r = N % 4
if r == 0:
ans += ans[-2:]
else:
ans += conv(2*r)
return int(ans, 4)
N = 11
for i in range(11, 1000):
if R(i) < 261:
N = i
print(N)
Ответ: \(61\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене