Cod sursa(job #140739)
Utilizator | Data | 22 februarie 2008 11:07:13 | |
---|---|---|---|
Problema | Transport | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<cstdio>
FILE *fin=freopen("sticle.in","r",stdin),
*fout=freopen("sticle.out","w",stdout);
int n,t,r;
int log(int k)
{
if(k==0)
return 0;
if(k%2 && k>1) r=1;
return log(k/2)+1;
}
void solve()
{
scanf("%d",&n);
r=0;
int q=log(n);
if(r==1)
{
printf("%d\n",q);
return;
}
printf("%d\n",q-1);
}
int main()
{
scanf("%d",&t);
for(int i=1;i<=t;i++)
solve();
return 0;
}