多列几个数找规律
除了1和2是1外,其他都是答案相同的数是 2 4 8 16 ......个,且答案分别为 4 8 16 32.......
代码:
#include <bits/stdc++.h>
using namespace std;
void solve()
{
long long n;
cin>>n;
if(n <= 2)cout<<1<<endl; //1和2
else
{
n-=2;
long long t=2;
while(1)
{
if(n > t)
{
n-=t;
t*=2;
}
else
{
cout<<t*2<<endl;
break;
}
}
}
}
int main()
{
//2 4 8
int t;
cin>>t;
while(t--)
{
solve();
}
return 0;
}