Задание 5. Информатика. ЕГЭ. Статград. 24.10.2024-1
- Просмотры: 360
- Изменено: 24 ноября 2024
Алгоритм получает на вход натуральное число \(N\) и строит по нему новое число \(R\) следующим образом.
- Строится двоичная запись числа \(N\).
- Если число \(N\) чётное, то к двоичной записи слева дописываются цифры \(11\).
В противном случае (число \(N\) нечётное) к двоичной записи слева дописывается цифра \(1\), а справа – цифры \(10\). - Результатом работы алгоритма становится десятичная запись полученного числа \(R\).
Пример. Дано число \(N = 13\). Алгоритм работает следующим образом.
- Строим двоичную запись: \(13_{10} = 1101_{2}\) .
- Число \(13\) нечётно. Дописываем \(1\) слева и \(10\) справа, получаем \(1110110_2 = 118_{10}\) .
- Результат работы алгоритма \(R = 118.\)
Укажите максимальное число \(R\), которое может быть результатом работы данного алгоритма, при условии, что \(N\) принадлежит отрезку \([234~567~890; \, 567~891~234].\)
Решение:
Python
def R(N):
bn = bin(N)[2:]
if N % 2 == 0:
ans = '11' + bn
else:
ans = '1' + bn + '10'
return int(ans, 2)
print(max(R(567_891_233), R(567_891_234)))
Видеоразбор
Ответ: \(6~566~532~230\)