【题目】
输入一个正整数,计算它在二进制下的1的个数。
注意多组输入输出!!!!!!
数据范围: 1≤n≤231−1 1≤n≤231−1
输入描述:
输入一个整数
输出描述:
计算整数二进制中1的个数
【示例1】
输入:5
输出:2
【示例2】
输入:0
输出:0
【代码】
【写法1】位运算
import sys
for line in sys.stdin:
n=int(line)
cnt=0
while n:
cnt+=1
n&=(n-1)
print(cnt)
【写法2】位运算
import sys
for line in sys.stdin:
n=int(line)
cnt=0
while n:
cnt+=n&1
n//=2
print(cnt)
【写法3】库函数直接调用
import sys
for line in sys.stdin:
n=int(line)
print(bin(n).count('1'))