На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом/
Например, для исходного числа \(11_{10} = 102_3\) результатом является число \(102101_3 = 307_{10},\) а для исходного числа \(12_{10} = 110_3\) это число \(111002_3 = 353_{10}.\)
Укажите минимальное число \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) не меньшее \(177.\)
Решение:
Python
def conv(n):
alph = '012'
ans = ''
while n:
ans = alph[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 * 5)
return int(tr, 3)
# print(R(11), R(12))
for N in range(1, 1000):
if R(N) >= 177:
print(N)
break
Ответ: \(8\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене