Untitled
unknown
python
3 years ago
662 B
20
Indexable
# co
import math
import sys
def count(X):
seti=set()
j=1
while math.pow(2,j) <=X:
seti.add(math.floor(X/math.pow(2,j)))
j+=1
return (seti)
def binaryToDecimal(n):
return int(n,2)
t=int(input())
while(t>0):
n=int(input())
s=input()
num=0
y=0
num=binaryToDecimal(s)
myset=count(num)
listt=list(myset) #listt contains the j
if num==2:
print("2")
t-=1
continue
mini=num^listt[0]
for i in range(len(listt)):
if num^listt[i]<mini:
mini=num^listt[i]
y=i
out =listt[y]
d=num/out
print(int(math.log(d,2)))
t-=1Editor is loading...