На вход алгоритма подаётся натуральное число 1 » class=»math» src=»/images/inform/quest/quest-3416-1.svg» width=»auto»>. Алгоритм строит по нему новое число
следующим образом.
1) Строится двоичная запись числа .
2) Эта запись изменяется по следующим правилам:
Если сумма цифр в двоичной записи числа четная, то справа дописывается , а первые два левых разряда заменяются на
;
Если сумма цифр в двоичной записи числа нечетная, то справа дописывается , а первые два левых разряда заменяются на
;
Например, запись преобразуется в
.
Полученная таким образом запись (в ней на один разряд больше, чем в записи исходного числа ) является двоичной записью искомого числа
.
Укажите максимальное число , для которого результат работы алгоритма меньше
. В ответе это число запишите в десятичной системе.
for i in range(2, 24):
x = bin(i)[2:]
if x.count("1") % 2 == 0:
x = "10" + x[2:] + "0"
else:
x = "11" + x[2:] + "1"
if int(x, 2) < 24:
print(i)