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