На вход алгоритма подается натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится троичная запись числа N.
2. Если N
3. Если N
Полученная таким образом запись является троичной записью искомого числа R.
Укажите минимальное число N, после обработки которого автомат получает число,
Приведём решение на языке Python.
def f(n):
s=''
while n > 0:
s = str(n%3)+s
n //= 3
return s
c = set()
for n in range(1,100):
s = f(n)
if n%3 == 0:
s = s + s[-3:]
else:
s = s + f((n%3)*3)
r = int(s,3)
if r > 150:
c.add(n)
print(min(c))
Ответ: 9.

