nowcoder(14)--求int型正整數在內存中存儲時1的個數

題目描述
輸入一個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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章