7-1 位1的个数
分数 10
作者 陈春晖
单位 浙江大学
输入一个非负整数,求它变成二进制后1的个数(提示:用bin函数)。
输入格式:
输入一个正整数。
输出格式:
输出1的个数。
输入样例1:
在这里给出一组输入。例如:
37
输出样例1:
在这里给出相应的输出。例如:
3
输入样例2:
在这里给出一组输入。例如:
0
输出样例2:
在这里给出相应的输出。例如:
0
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C++ (g++)
思路:
本题关键在于十进制转为二进制。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
vector<int>v;
int ans=0,sum=0;
while(n>0){
ans++;
v.push_back(n%2);
n/=2;
}
for(int i=0;i<v.size();i++){
if(v[i]==1) sum++;
}
cout<<sum;
}