(ЕГЭ-2023) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:
Например, для числа \(11\) троичная запись \(102_3\) преобразуется в запись \(10222_3 = 107,\) для числа \(12\) троичная запись \(110_3\) преобразуется в \(111002_3 = 353.\) Укажите максимальное значение \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) меньшее чем \(199.\)
Решение:
Python
def conv(n):
ans = ''
while n:
ans = str(n % 3) + ans
n //= 3
return ans
def R(N):
tr = conv(N)
if N % 3 == 0:
tr = '1' + tr + '02'
else:
tr += conv(N % 3 * 4)
return int(tr, 3)
print(max(N for N in range(1, 200) if R(N) < 199))
Ответ: \(20\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене