def to_ternary(n):
# Функция для перевода числа из десятичной системы в троичную
digits = []
while n > 0:
digits.append(str(n % 3))
n //= 3
return int(''.join(digits[::-1]))
def process_number(n):
ternary = to_ternary(n) # Переводим число в троичную систему
if n % 2 == 0:
return int(str(ternary) + str(ternary)[-2:]) # Добавляем два младших разряда
else:
return to_ternary(ternary + sum(int(digit) for digit in str(ternary))) # Добавляем троичное представление суммы цифр
min_k = float('inf')
result_n = None
for number in range(10, 100): # Проверяем числа от 10 до 99
k = process_number(number)
if k < min_k:
min_k = k
result_n = number
print(result_n) # Выводим число N, при котором получается минимальное значение K
1. Строится троичная запись числа М.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число и чётное, тогда в конец дописывается два младших разряда полученной троичной записи,
б) если число и нечетное, тогда в конец дописывается троичное представление суммы цифр полученной троичной записи.
Полученная таким образом запись является троичной записью искомого числа К.
Например, для исходного числа 1010 1013 результатом является число 101013-9110. а для числа 1110=1023 результатом является число 102103 = 10210. Укажите N, большее 9, после обработки которого с помощью этого алгоритма получается минимальное число К. В ответе запишите это число в десятичной системе счисления