位运算(&>>) | HJ62 查找输入整数二进制中1的个数

while True:
    try:
        n = int(input())
        # 方法1:转二进制字符串,查找字符1个数
        # print(bin(n).count('1'))
        
        #方法2:int数与1做位与运算,同时int数逻辑右移直到出界为0
        cnt = 0
        while n:
            cnt += n & 1
            n >>= 1
        print(cnt)
    except:
        break

用时:5min

华为笔试刷题 文章被收录于专栏

高质量题: 1~40:HJ16,HJ22,HJ24,HJ26,HJ27,HJ28,HJ35,HJ37,HJ39; 40~80:HJ41,HJ42,HJ43,HJ44,HJ48,HJ50,HJ52,HJ53,HJ57,HJ61,HJ63,HJ64,HJ70,HJ71,HJ74,HJ77; 80~108:HJ82,HJ85,HJ88,HJ89,HJ93,HJ95,HJ98,HJ103,HJ107

全部评论

相关推荐

01-21 20:09
武汉大学 Java
点赞 评论 收藏
分享
李橙子:结果虽不够理想,但过程本身已是宝贵的淬炼。能把学习机会放在薪酬之前,证明你目光长远。先踏实进去,用这段时间扎实学好Python后端,把公司项目吃透,你的价值会在下一份工作中完全体现。这个起点,值得。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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