【51nod】二进制统计【位运算】

在这里插入图片描述

思路:

直接lowbit判断即可

c o d e code code

#include
#include

using namespace std;

int t;
int a[32];

int main()
{
	scanf("%d", &t);
	while(t--)
	{
		int x, tot=0;
		scanf("%d", &x);
		x=x&(-x);
		x>>=1; 
		while(x)
		{
			x>>=1;
			tot++;
		}
		a[tot]++;
	}
	for(int i=0; i<=31; i++)	
		printf("%d ", a[i]);
	return 0;
}

你可能感兴趣的:(题解,题解,c++,51nod,位运算)