OpenFIPI 2.0

Текст задания

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

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

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

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

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

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

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

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

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

Ответы пользователей 15

Пользователь
1
141
Пользователь
2
145
Пользователь
3
141
Пользователь
4
141
Пользователь
5
2
Пользователь
6
144
Пользователь
7
У меня получается ответ 145.Как может быть ответ 8,если в условии написано указать минимальное число R,большее 133?
Пользователь
8
141
Пользователь
9
141
Пользователь
10
У меня тоже получается 145, тут в ответе ошибка
Пользователь
11
141
Пользователь
12
141
Пользователь
13
ответ 141
Пользователь
14
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 ?
Пользователь
15
141