Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-6279
- Просмотры: 575
- Изменено: 5 апреля 2025
(Досрочный ЕГЭ-2023) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:
- Строится двоичная запись числа \(N.\)
- Далее эта запись обрабатывается по следующему правилу:
- а) если \(N\) делится на \(3,\) то в конец этой записи дописывается три последние цифры двоичной записи.
- б) если \(N\) не делится на \(3,\) то остаток при делении на \(3\) числа \(N\) умножается на \(3,\) переводится в двоичную запись и дописывается в конец двоичной записи числа \(N.\)
- Полученная таким образом запись является двоичной записью искомого числа \(R.\)
Например, для исходного числа \(12_{10} = 1100_2\) результатом является число \(1100100_2 = 100_{10},\) а для исходного числа \(4_{10} = 100_2\) результатом является число \(10011_2 = 19_{10}.\)
Укажите минимальное число \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) не меньшее \(120.\) В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
r = N % 3
bn += f'{r*3:b}' if r else bn[-3:]
return int(bn, 2)
#print(R(12), R(4))
for N in range(4, 120):
if R(N) >= 120:
print(N)
break
Ответ: \(15\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


