Задача #2218

Алгоритмы

Уровень ЕГЭ

(Е.Джобс) Автомат принимает на вход число и преобразует его по следующему алгоритму.

1) Число переводится в троичную систему счисления,
2) Полученное число преобразуется по следующему алгоритму:
a. Если число четное, то слева дописывается 2, справа значение младшего разряда, увеличенного в 2 раза (в троичной системе счисления),
b. Если число нечетное, то справа дописывается 2, слева удвоенное значение старшего разряда (в троичной системе счисления),
3) Полученное троичное число переводится в десятичную систему счисления и выводится на экран.

Укажите минимальное значение большее 100, которое может являться результатом работы автомата.

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

131

Видео по задаче

def tr(x): 
s = ''
while x > 0:
s = str(x % 3) + s
x //= 3
return s

for n in range(1, 100):
s = tr(n)
if n % 2 == 0:
s = '2' + s + tr(2*(n % 3))
else:
s = tr(2*int(s[0])) + s + '2'
r = int(s, 3)
if r > 100:
print(r)
# выбираем минимальное выведенное число

Полный разбор

Быстрый переход
Перейти к задаче