[每日一題]68:查找輸入整數二進制中1的個數

題目描述

請實現如下接口

public static int findNumberOf1( int num)
{
/* 請實現 */
return 0;

}
譬如:輸入5 ,5的二進制爲101,輸出2

涉及知識點:
注意多組輸入輸出!!!!!!

輸入描述:

輸入一個整數

輸出描述:

計算整數二進制中1的個數(也被稱爲漢明重量)。

示例1

輸入
5

輸出
2

C++解答代碼

#include <iostream>
using namespace std;

int findNumberOf1(int num)
{
    int count = 0;
    while(num){
        if(num & 1)
            ++count;
        num >>= 1;
    }
    return count;
} 

int main(){
    int num;
    while(cin >> num){
        cout << findNumberOf1(num) << endl;
    }
    return 0;
}

C代碼如下:

int OneCountBinary(unsigned int n){
	int count = 0;
	while(n){
		if (n % 2){
			++count;
		}
		n /= 2;
	}
	return count;
}

int main(){
	int input;
	scanf("%d", &input);
	printf("%d", OneCountBinary(input));

	return 0;
}

代碼生成圖
在這裏插入圖片描述


如有不同見解,歡迎留言討論~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章