输入一个非负整数,求它变成二进制后1的个数(提示:用bin函数)。
输入格式:
输入一个正整数。
输出格式:
输出1的个数。
输入样例1:
在这里给出一组输入。例如:
37
输出样例1:
在这里给出相应的输出。例如:
3
输入样例2:
在这里给出一组输入。例如:
0
输出样例2:
在这里给出相应的输出。例如:
0
【代码如下】
#include<stdio.h>
int f(int n) {
int count = 0;
while (n != 0) {
n = n&(n-1);//这里使用了位运算的方法
count++;
}
return count;
}
int main() {
int n;
scanf("%d",&n);
printf("%d",f(n));
}
【知识点解析】
位运算:https://blog.csdn.net/nwpu_geeker/article/details/79763511