題目描述
輸入一個int型的正整數,計算出該int型數據在內存中存儲時1的個數。
輸入描述:
輸入一個整數(int類型)
輸出描述:
這個數轉換成2進制後,輸出1的個數
示例1
輸入
5
輸出
2
分析:
稍微有點麻煩,用多遍歷一次
解答:
#include <iostream>
#include <vector>
using namespace std;
int main(){
long num;
while(cin >> num){
int n;
vector<int> vn;
int ans=0;
while(num){
n = num%2;
vn.push_back(n);
num/=2;
}
for(int i=0;i<vn.size();i++){
if(vn[i]==1) ans++;
}
cout << ans;
}
return 0;
}