Задание 5. Информатика. ЕГЭ. Поляков-4219
- Просмотры: 25
- Изменено: 14 апреля 2025
(В.Н. Шубинкин) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:
- Строится двоичная запись числа \(N.\)
- К этой записи дописывается ещё три или четыре разряда по следующему правилу: если \(N\) нечётное, то слева к нему приписывается "\(1\)", а справа — "\(11\)". В противном случае слева приписывается "\(11\)", а справа "\(00\)".
Например, \(N = 5_{10} = 101_2 \to 110111_2 = 55_{10} = R.\)
Полученная таким образом запись (в ней на три или четыре разряда больше, чем в записи исходного числа \(N)\) является двоичной записью искомого числа \(R.\) Укажите наибольшее число \(R,\) меньшее \(127,\) которое может быть получено с помощью описанного алгоритма. В ответ запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
if N % 2:
return int('1' + bn + '11', 2)
return int('11' + bn + '00', 2)
#print(R(5))
print(max(R(N) for N in range(1, 2000) if R(N) < 127))
Ответ: \(120\)