华为机试15-求int型数字转换成2进制后,输出其中1的个数

题目描述
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。

输入描述:
输入一个整数(int类型)

输出描述:
这个数转换成2进制后,输出1的个数

示例1
输入
5
输出
2

 

参考1:

a = int(input())
b = str(bin(a))     #注意要转化为字符串
print(b.count('1')) #注意‘1’

执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率: 100.00% 运行时间: 18ms 占用内存:3340KB

 

参考2:

bin_num = int(input().strip())
res = 0
while bin_num:
    res+=1
    bin_num &= bin_num-1
print(res)

执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率: 100.00% 运行时间: 18ms 占用内存:3416KB

posted @ 2020-08-21 10:37  Andy_George  阅读(236)  评论(0编辑  收藏  举报