二进制中1的个数

摸个鱼。。。


def bin1(num):
    if num==0:
        return 0
    if num==1:
        return 1
    a = num // 2
    b = num % 2
    return bin1(a)+bin1(b)



arr = range(0, 20)


for i in arr:
    a = f'{i:3d}'
    b = f'{i:08b}'
    def count1(bb):
        cnt = 0
        for ch in bb:
            if ch == '1':
                cnt+=1
        return cnt
    c = count1(b)
    d = bin1(i)
    print(f'{a} : {b} = {c:3d}  {"<-->" if c==d else "<xx>"} {d:2d}')


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容