Задание 5. Информатика. ЕГЭ. Поляков-2771
- Просмотры: 14
- Изменено: 6 апреля 2025
Автомат обрабатывает натуральное число \(N\) по следующему алгоритму:
- Строится двоичная запись числа \(N\) без ведущих нулей.
- Если в полученной записи единиц больше, чем нулей, то справа приписывается единица. Если нулей больше или нулей и единиц поровну, справа приписывается ноль.
- Полученное число переводится в десятичную запись и выводится на экран.
Какое наименьшее число, превышающее \(40,\) может получиться в результате работы автомата?
Решение:
Python
def R(N):
bn = f'{N:b}'
bn += '1' if bn.count('1') > bn.count('0') else '0'
return int(bn, 2)
print(min(R(N) for N in range(1, 200) if R(N) > 40))
Ответ: \(43\)