Мне нужно найти двоичный пробел для целого числа.
Двоичный пробел внутри положительного целого числа N - это любая максимальная последовательность последовательных нулей, окруженная единицами на обоих концах в двоичном представлении N .
Например: N = 1041 двоичный: 10000010001 Результат: 5 (5 нулей в окружении единиц)
Ниже мой код, хотя bin_no [22] равен 1, но он никогда не попадает внутрь, если выписка.
def solution(N):
bin_no = f'{N:32b}'
print(len(bin_no))
count = []
for i in range(len(bin_no)):
if bin_no[i] == 1:
count[i] = 0
j=i
while(bin_no[j+1] != 1):
count[i] +=1
j +=1
print (count[i])
print(solution(529))