На вход алгоритма подаётся натуральное число N (N>2). Алгоритм строит по нему новое число R следующим образом.
1. Строится троичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
a) если число N делится на 3, то к этой записи дописываются две последние троичные цифры;
б) если число N на 3 не делится, то остаток от деления умножается на 3, переводится в троичную систему и дописывается в конец числа.
Полученная таким образом запись является троичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 610 = 203 результатом является число 20203 = 6010, а для исходного числа 410 = 113 это число 11103 = 3910.
Укажите максимальное число N, после обработки которого с помощью этого алгоритма получается число не превышающее 150.
Ответ:
kompege.ru ЕГКР 19.04.25 – задание №5
Решение:
Решение на Python —
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
def troich(x): s = '' while x>0: s = str(x%3) + s x = x // 3 return s for n in range(3, 1000): t = troich(n) if n % 3 == 0: t = t + t[-2:] else: t = t + troich((n%3)*3) r = int(t, 3) if r<=150: print(n) |
…
12
13
14
15
16
Ответ: 16
