1) Строится двоичная запись числа N.
2) К этой записи дописывается (дублируется) последняя цифра.
3) Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное.
4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным.
Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число N, после обработки которого автомат получает число, большее 90. В ответе это число запишите в десятичной системе.
for i in range (1000):
n = bin(i) [2:]
r = n + n[-1]
if (r.count('1') % 2 == 0):
r = r + '0'
else:
r = r + '1'
if (r.count('1') % 2 == 0):
r = r + '0'
else:
r = r + '1'
if (int(r, 2) > 90) :
print(i)
Выводит наименьшее 14, а в ответе 11. Где ошибка?