题解:P11310 无穷的迭代器

· · 题解

题目传送门

思路:

这题也是肥肠的简单啊。

我们只需要判断每一个数的因数 2 的个数即可。输出因数 2 的个数 +1 即可。

记得特判 0 的情况。

代码:


#include<bits/stdc++.h>
using namespace std;
long long t,a;//不开long long见祖宗
int main()
{
    cin>>t;
    while(t--)
    {
        int sum=1;
        cin>>a;
        if(a==0)
        {
            cout<<"NO!\n";
            continue;
        }
        while(a%2==0)
        {
            a/=2;
            sum++;
        }
        cout<<sum<<endl;
    }
    return 0;
}