Автомат обрабатывает натуральное число N по следующему алгоритму.
1. Строится троичная запись числа N.
2. В конец записи (справа) дописывается остаток от деления числа N
3. Результат переводится из троичной системы в десятичную и выводится на экран.
Пример. Дано число N = 11. Алгоритм работает следующим образом.
1. Троичная запись числа N: 102.
2. Остаток от деления 11
3. На экран выводится число 35.
Какое наименьшее четырёхзначное число может появиться на экране в результате работы автомата?
Рассмотрим числа,
100010 = 11010013 — не может являться результатом работы алгоритма.
100110 = 11010023 — не может являться результатом работы алгоритма.
100210 = 11010103 — не может являться результатом работы алгоритма.
100310 = 11010113 — может являться результатом работы алгоритма.
Таким образом, ответ — 1003.
Ответ: 1003.
Приведём решение на языке Python.
for i in range(1, 1000):
n = i
s = ""
while n > 0: # перевод в троичную систему
s += str(n % 3)
n //= 3
s = str(i % 3) + s
r = 0
for j in range(len(s)): # перевод в десятичную систему
r += int(s[j]) * 3 ** j
if r > 999:
print(r)
break
Приведём решение Полины Егрушовой на языке Python.
m = []
for n in range(1,10000):
k=n
s = ''
while k > 0:
s = s + str(k %3)
k = k//3
s = s[::-1]
s = s + str(n%3)
r = int(s,3)
if r >= 1000:
m.append(r)
print(min(m))

