На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится троичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
a) если число N делится на 3, то слева к нему приписывается «1», а справа «02»;
б) если число N на 3 не делится, то остаток от деления на 3 умножается на 4, переводится в троичную запись и дописывается в конец числа.
Полученная таким образом запись является троичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 1110 = 1023 результатом является число 102223 = 10710, а д ля и сходного ч исла 1 210 = 1103 – это число 1110023 = 35310.
Укажите максимальное число N, после обработки которого с помощью этого алгоритма получается число R, не превышающее 250.
Ответ:
СтатГрад Вариант ИН2510201 16 декабря 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 <= 250: print(n) |
…
22
23
25
26
Ответ: 26