Автомат обрабатывает натуральное число по следующему алгоритму.
-
Строится двоичная запись числа .
-
Все значащие цифры инвертируются (‘0’ заменяется на ‘1’, а ‘1’ на ‘0’).
-
К полученному результату слева добавляется ‘1’.
-
К двоичной записи полученного числа справа дописывается бит четности: ‘1’, если количество единиц в двоичной записи нечетно, ‘0’ - если четно.
-
Полученное в результате этих операций число переводится в десятичную систему счисления.
Полученная таким образом запись является результатом работы алгоритма: .
Укажите такое наименьшее число , для которого результат работы данного алгоритма больше числа 180. В ответе это число запишите в десятичной системе счисления.
Решение:
Решение на Python:
otv = []
for N in range(1, 1000):
R = bin(N)[2:]
R = ''.join('1' if x == '0' else '0' for x in R)
R = '1' + R
R += str(R.count('1') % 2)
R = int(R, 2)
if R > 180:
otv.append(N)
print(min(otv))
Ответ: 32
Ответ:
32
ЕГЭ · Информатика · Пробник ИМЦ СПб 2023 2023