方法1:python
while True:
try:
a = bin(int(input()))
maxnumstr = a.count('1')
maxnum = int(maxnumstr)
num = 0
for i in range(maxnum):
if '1' * (i + 1) in a:
num = i + 1
else:
break
print(num)
except:
break方法2:python
while True:
try:
n = int(input())
c = 0
m = 0
while n:
if (n % 2):
c += 1
if c > m:
m = c
else:
c = 0
n = int(n/2)
print(m)
except:
break方法3: 最优解法
python
while True:
try:
number = int(input())
str_num = bin(number)
print(len((max(str(str_num).replace("0b","").split("0")))))
except:
break
京公网安备 11010502036488号