题解 | #求最大连续bit数#

密码强度等级

http://www.nowcoder.com/practice/52d382c2a7164767bca2064c1c9d5361

方法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
全部评论

相关推荐

06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 15:39
希望奇迹发生的布莱克...:真的是 现在卷实习就是没苦硬吃
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务