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 ?