Алгоритм получает на вход натуральное число \(N\) и строит по нему новое число \(R\) следующим образом.
Пример. Дано число \(N = 35.\) Алгоритм работает следующим образом.
Результат работы алгоритма \(R = 10.\)
При каком наименьшем \(N\) в результате работы алгоритма получится \(R = 1~864~246?\)
Решение:
Python
def conv(n):
s = ''
while n:
s = str(n % 3) + s
n //= 3
return s
def R(N):
tr = conv(N)
tr = tr.replace('0', '9')
tr = tr.replace('2', '0')
tr = tr.replace('9', '2')
return abs(N - int(tr, 3))
for N in range(10, 10_000_000):
if R(N) == 1_864_246:
print(N)
break
Ответ: \(3~323~607\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене