牛客网:查找输入整数二进制中1的个数
输入一个正整数,计算它在二进制下的1的个数。
注意多组输入输出!!!!!!
数据范围: 1≤n≤ 2^31-1
输入一个整数
计算整数二进制中1的个数
输入
5
输出
2
说明
5的二进制表示是101,有2个1
输入
0
输出
0
#include
#include
using namespace std;
int main(){
int n=0;
while(cin>>n)
{
int count=0;
while(n)
{
if(n&1)
{
count++;
}
n>>=1;
}
cout<<count<<endl;
}
}
#include
#include
using namespace std;
int main(){
int n=0;
while(cin>>n)
{
int count=0;
while(n)
{
//一个数和比自己小1的数相与,每次会消去一个二进制1
n&=(n-1);
count++;
}
cout<<count<<endl;
}
}