Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Шастин. 7.05.2025
- Просмотры: 3077
- Изменено: 9 мая 2025
(Л. Шастин) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится двоичная запись числа \(N.\)
- Далее эта запись обрабатывается по следующему правилу:
- а) если число \(N\) делится на 2, то в этой записи все «\(0\)» заменяются на «\(1\)»;
- 6) если число \(N\) на \(2\) не делится, то в этой записи все «\(1\)», кроме первой, заменяются на «\(00\)».
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа \(11 = 1011_2\) результатом является число \(100000_2 = 32.\)
Укажите максимальное число \(N,\) после обработки которого с помощью этого алгоритма получается максимальное число \(R,\) не превышающее \(600.\)
Решение:
Python
def R(N):
bn = f'{N:b}'
if N % 2 == 0:
bn = bn.replace('0', '1')
else:
bn = '1' + bn[1:].replace('1', '00')
return int(bn, 2)
#print(R(11))
rmax = max(R(N) for N in range(1, 600) if R(N) <= 600)
print(max(N for N in range(1, 600) if R(N) == rmax))
Ответ: \(257\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


