OpenFIPI 2.0

09DBe5

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1. Строится троичная запись числа N.

2. Далее эта запись обрабатывается по следующему правилу:

а) если число N делится на 3, то к этой записи дописываются две последние троичные цифры;

б) если число N на 3 не делится, то остаток от деления умножается на 5, переводится в троичную запись и дописывается в конец числа.

Полученная таким образом запись является троичной записью искомого числа R.

3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 1110 = 1023 результатом является число 1021013 = 30710, а для исходного числа 1210 = 1103 это число 110103 = 11110.

Укажите минимальное число R, большее 133, которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.

Редактировать

Ответы

141

145

141

141

2

144

У меня получается ответ 145.Как может быть ответ 8,если в условии написано указать минимальное число R,большее 133?

141

141

У меня тоже получается 145, тут в ответе ошибка

141

141

ответ 141

mi = 10000 def ttn(x,y): d="012345" st='' while x>0: st = d[x%y] + st x = x//y return(st) for n in range ( 1, 1011): r = ttn(n,3) if n % 3 == 0 : r = r + str(r[-2:]) else: r= r + str(ttn(5*(n%3),3)) r = int(r,3) if r > 133 : if r < mi : mi = r print(mi) ответьте на вопрос как должно получиться 8 ?