输入一个正整数n,求n转换为二进制后中1的个数。
输入格式:
一个正整数n。
输出格式:
二进制中1的个数
限制:
1<=n<=2147483647
样例 1 :
输入: 8
输出: 1
说明: 二进制为1000,故只有一个1
样例 2 :
输入: 12
输出: 2
说明: 二进制为1100,有2个1
C语言:
#include <stdio.h>
int main()
{
int n,num=0;
scanf("%d",&n);
do{
if(n%2==1)
num++;
n=n/2;
}while(n>0);
printf("%d",num);
return 0;
}
评测状态
正确 100
语言: C
用时: 0 ms 内存: 1088 kb 代码长度: 145