Автомат обрабатывает натуральное число N (0 ≤ N ≤ 255) по следующему
алгоритму:
1. Строится восьмибитная двоичная запись числа N.
2. Все цифры двоичной записи заменяются на противоположные (0 на 1,
1 на 0).
3. Полученное число переводится в десятичную систему счисления.
4. Из нового числа вычитается исходное, полученная разность выводится
на экран.
Какое число нужно ввести в автомат, чтобы в результате получилось 97?
Answers & Comments
for n in range(255):
n_old = n
n = bin(n)[2:] # 1. Перевод в 2 сс + отделение лишних знаков
while len(n) != 8: # Добиваем до восьмибитной
n = '0' + n
x = '' #
for i in range(len(n)): #
if n[i] == '1': #
x += '0' # 2. Замена цифр на противоположные
else: #
x += '1' #
n = x #
n = int(n, 2) # 3. Перевод в 10 сс
n -= n_old # 4. Вычитается исходное
if n == 97:
print(n_old) # Ответ: 79