На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится троичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
a) если число N делится на 3, то к этой записи дописываются две последние троичные цифры;
б) если число N на 3 не делится, то остаток от деления умножается на 5, переводится в троичную запись и дописывается в конец числа.
Полученная таким образом запись является троичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 1110 = 1023 результатом является число 1021013 = 30710, а для исходного числа 1210 = 1103 это число 110103 = 11110.
Укажите минимальное число R, большее 150, которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.
Ответ:
Основная волна 11.06.2025 ЕГЭ по информатике – задание №5
Решение:
Решение на Python —
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
def troich(n): s='' while n>0: s=str(n%3)+s n=n//3 return s for n in range(1, 300): b = troich(n) if n%3 == 0: b = b + b[-2:] else: b = b + troich((n%3)*5) r = int(b, 3) if r>150 and r<170: print(r) |
Ответ: 162
