题目:二进制中1的个数 (蓝桥OJ 1331)

题目描述:

题目:二进制中1的个数 (蓝桥OJ 1331)_第1张图片

解题思路:

使用位运算.右移并判断最低位是否为一.但需要注意一般的int类型不行,要使用unsigned int.

题解:

#include 
using namespace std;
int main()
{
  unsigned int x;cin >> x
  int ans = 0;

  while(x)
  {
    if(x & 1)ans++;
    x >>= 1;
  }
  
  cout << ans; 
 
  return 0;
}

你可能感兴趣的:(算法)