二进制中 1 的个数
题目描述 给定一个整数 x,输出该数二进制表示中 1 的个数。
例:9 的二进制表示为 1001,有 2 位是 1 ,所以函数返回 2。
输入描述 输入 x (内存空间为 32 位的整数)。
输出描述 第一行输出x 二进制表示中 1 的个数。
输入输出样例
输入9
,输出2
运行限制 最大运行时间:1s 最大运行内存: 128M
方法1
x=int(input())
ans=0while x:x-=x&(-x)ans+=1print(ans)
结果运行超时了……
方法2
x=int(input())
ans=0for i in range(32):if (x>>i)&1==1:ans+=1print(ans)