C/C++_2019_7_17(查找输入整数二进制中1的个数)

我只能送你到这里了,剩下的路自己走,不要回头。

题目描述
查找输入整数二进制中1的个数 | 时间限制:1秒 | 内存限制:32768K

譬如:输入5 ,5的二进制为101,输出2

输入描述
输入一个整数

输出描述
计算整数二进制中1的个数

示例
输入 5
输出 2

解题思路
本题是计算一个数二进制表示中1的个数,通过(n >> i) & 1可以获取第i位的二进制值,每次n右移一位,可 以获取一位的二进制值,右移32次,n变成0,循环终止。

示例代码

#include 
using namespace std;
int main(){    
	int n;    
	while (cin >> n){        
		int count = 0;        
		while (n){            
			if ((n & 1) == 1){
				count += 1;
			}                            
			n >>= 1;        
		}        
		cout << count << endl;    
	}    
	return 0; 
}

你可能感兴趣的:(模拟题)