Задание 5. Информатика. ЕГЭ. Поляков-1754
- Просмотры: 14
- Изменено: 6 апреля 2025
Автомат обрабатывает натуральное число \(N < 256\) по следующему алгоритму:
- Строится восьмибитная двоичная запись числа \(N.\)
- Инвертируются все разряды исходного числа, кроме последней единицы и стоящих за ней нулей (\(0\) заменяется на \(1\), \(1\) на \(0\)).
- Полученное число переводится в десятичную систему счисления.
Для какого значения \(N\) результат работы алгоритма равен \(221?\)
Решение:
Python
def R(N):
bn = f'{N:08b}'
pos = bn.rfind('1')
s = bn[:pos].replace('0', 'x').replace('1', '0').replace('x', '1')
return int(s + bn[pos:], 2)
for N in range(255, -1, -1):
if R(N) == 221:
print(N)
break
Ответ: \(35\)