Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-8561
- Просмотры: 1170
- Изменено: 27 декабря 2025
На вход алгоритма подается натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:
- Строится троичная запись числа \(N.\)
- Далее эта запись обрабатывается по следующему правилу:
- а) если число \(N\) делится на \(3,\) то к этой записи справа дописываются цифры \(21,\) а слева – цифра \(1;\)
- б) если число \(N\) на \(3\) не делится, то остаток от деления числа \(N\) на \(3\) умножается на \(5,\) переводится в троичную систему счисления и дописывается в конец числа.
Полученная таким образом запись является троичной записью искомого числа \(R.\) Например, для исходного числа \(11 = 102_3\) результатом является число \(102101_3 = 307,\) а для исходного числа \(12 = 110_3\) результатом является число \(111021_3 = 358.\) Укажите максимальное нечётное число \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) не превышающее \(1130.\)
Решение:
Python
def conv(n):
alph='012'
ans = ''
while n:
ans = alph[n % 3] + ans
n //= 3
return ans if ans else '0'
def R(N):
tr = conv(N)
if tr[-1] == '0':
tr = '1' + tr + '21'
else:
tr += conv(N % 3 * 5)
return int(tr, 3)
# print(R(11), R(12))
print(max(N for N in range(3, 10_000, 2) if R(N) <= 1130))
Ответ: \(121\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


