fork download
  1. // written by Eng. Abdullah Haydari
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. int main(){
  5.     int t; cin>>t;
  6.     while(t--){
  7.       long long n,ans,firstZero,c=0;
  8.         cin>>n;
  9.         for(int k=30; k>=0; k--){ // 31 bit
  10.             if(n>>k&1){
  11.                 c++;
  12. ans=(1<<k);
  13. }
  14.             else
  15.                 firstZero=(1<<k);
  16.         }
  17.         if(c==1)
  18. ans+=firstZero;
  19.         cout<<ans<<endl;
  20.     }
  21. }
Success #stdin #stdout 0.01s 5288KB
stdin
7
1
2
5
9
16
114514
1000000
stdout
3
3
1
1
17
2
64