zl程序教程

您现在的位置是:首页 >  其它

当前栏目

7-1 位1的个数

个数
2023-09-14 09:15:02 时间

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;
}