while True: try:
n = int(input()) # 获取整数
if n<1 or n>500000:
break
s= bin(n) # 转换二进数
t = str(s).replace('0b', '') # 字符串转换去掉0b
v = t.split('0') # 从0截取,获取列表
p = set(v)
#print(p)
print(len(str(max(p)))) # 这步参考解析,利用了集合去重('','1','11'),反正1越多,max的值越大,再转成字符串,计数,比我的循环要快
one_num = 0
#print(v)
for i in v :
if len(i)>=one_num:
one_num=len(i)
print(one_num)
except:
break

京公网安备 11010502036488号