Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-8209
- Просмотры: 1759
- Изменено: 26 декабря 2025
(О. Лысенков) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится четверичная запись числа \(N.\)
- Далее эта запись обрабатывается по следующему правилу:
- а) если сумма цифр четверичной записи кратна \(4,\) то все нули в записи меняются на \(3,\) а все \(3\) меняются на \(0,\) а затем к числу справа приписывается \(21;\)
- б) если сумма цифр четверичной записи не кратна \(4,\) то к записи справа приписывается \(22,\) а затем первые два разряда меняются на \(11.\)
- Полученная таким образом запись является четверичной записью искомого числа \(R.\)
Укажите минимальное число \(N,\) для которого результатом работы алгоритма является наименьшее число \(R,\) превышающее \(200.\) В ответе это число запишите в десятичной системе счисления.
Решение:
Python
def conv(n):
alph='0123'
ans = ''
while n:
ans = alph[n % 4] + ans
n //= 4
return ans
def R(N):
q = conv(N)
s = sum(int(x) for x in q)
if s % 4 == 0:
q = q.replace('0', 'x').replace('3', '0').replace('x', '3')
q += '21'
else:
q += '22'
q = '11' + q[2:]
return int(q, 4)
mr = min(R(N) for N in range(1, 10000) if R(N) > 200)
print(min(N for N in range(1, 10000) if R(N) == mr))
Ответ: \(1011\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


