11.位运算

2020-02-12  本文已影响0人  Tsukinousag

原题链接


给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。

define lowbit(i)((i)&(-i))

#define lowbit(i)((i)&(-i))
int n;
int main()
{
    scanf("%d",&n);
    while(n--)
    {
       int x,res=0;
       scanf("%d",&x);
       while(x)
       {
           x-=lowbit(x);
           res++;
       }
       cout<<res<<" ";
    }
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读