(О. Лысенков) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
Укажите минимальное число \(N,\) для которого результатом работы алгоритма является наибольшее число \(R,\) меньшее \(1922.\) В ответе это число запишите в десятичной системе счисления.
Решение:
Python
def conv(n):
alph='01234'
ans = ''
while n:
ans = alph[n % 5] + ans
n //= 5
return ans
def R(N):
q = conv(N)
if q[-1] == '0':
q = q.replace('4', 'x').replace('1', '4').replace('x', '1')
q = '33' + q
else:
q += '44'
q = '3' + q[1:-1] + '2'
return int(q, 5)
mr = 0
ans = 0
for n in range(1, 100000):
r = R(n)
if mr < r < 1922:
mr = r
ans = n
print(ans)
Ответ: \(9\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене