Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-8750
- Просмотры: 2421
- Изменено: 4 февраля 2026
На вход алгоритма подается натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:
- Строится троичная запись числа \(N.\)
- Далее эта запись обрабатывается по следующему правилу:
- а) если число \(N\) не делится на \(3,\) то к этой записи справа дописываются три её последние цифры, а слева – цифра \(1;\)
- б) если число \(N\) делится на \(3,\) то сумма цифр троичной записи умножается на \(8,\) переводится в троичную систему счисления и дописывается в конец числа.
Полученная таким образом запись является троичной записью искомого числа \(R.\)
Например, для исходного числа \(11 = 102_3\) результатом является число \(1102102_3 = 1037,\) а для исходного числа \(12 = 110_3\) результатом является число \(110121_3 = 340.\) Укажите число \(R,\) ближайшее к числу \(1220,\) которое может быть получено в результате работы алгоритма.
Решение:
Python
def conv(n):
alph ='012'
ans = ''
while n:
ans = alph[n % 3] + ans
n //= 3
return ans
def R(N):
tr = conv(N)
if N % 3:
tr = '1' + tr + tr[-3:]
else:
tr += conv(sum(int(x) for x in tr) * 8)
return int(tr, 3)
# print(R(11), R(12))
md = float('inf')
ans = 0
for N in range(9, 1000):
r = R(N)
if abs(1220 - r) < md:
md = abs(1220 - r)
ans = r
print(ans)
Ответ: \(1205\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


