На вход алгоритма подаётся натуральное число . Алгоритм строит по нему новое число
следующим образом.
1) Строится двоичная запись числа .
2) К этой записи дописывается справа бит чётности: 0, если в двоичном коде числа было чётное число единиц, и 1, если нечётное.
3) К полученному результату дописывается ещё один бит чётности.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа ) является двоичной записью искомого числа
. Укажите минимальное число
, большее 130, которое может быть получено в результате работы этого алгоритма. В ответе это число запишите в десятичной системе.
for n in range(1, 100):
s = bin(n)[2:]
s = str(s)
if s.count(’1’) % 2 == 0:
s += ’0’
else:
s += ’1’
if s.count(’1’) % 2 == 0:
s += ’0’
else:
s += ’1’
if int(s, 2) > 130:
print(int(s, 2))
break
Ответ: 132