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