题目描述
给定一个十进制正整数n (1≤n≤10^18), 计算n对应的二进制数中1的个数,例如十进制数6的二进制为:110,从左往右第1位和第2位都为1,所以1个数为2。
输入格式
一行:一个正整数n.
输出格式
一行:n对应的二进制数中1的数量
输入输出样例
输入样例1:
6
输出样例1:
2
【耗时限制】1000ms 【内存限制】64MB
//
//Created by Carlgood.
//
//Note:This program is written in version DEV-C++ 5.11.
//Subject source:"hppt://oj.codingle.cn"
# include <iostream>
# include<cmath>
# include<string>
# include<cstring>
# include<cstdio>
# include<algorithm>
# include<sstream>
# define This_program_is_written_by_Carlgood_Programming_Studio 9876543210
using namespace std;
int main()
{
long long n;
cin>>n;
int cnt=0;
while(n)
{
if(n&1)
{
cnt++;
}
n>>=1;
}
cout<<cnt;
return 0;
}