#include<stdio.h>
int main()
{
int pwr[]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288};
int n,i,j,k;
//freopen("in.txt","r",stdin);
while(scanf("%d",&n)&&n)
{
for(i=0;n>pwr[i]&&(pwr[i]^n);i++);
if(pwr[i]==n)
{
printf("%d\n",n);
continue;
}
k=pwr[i-1];
n=n^k;
n=n<<1;
printf("%d\n",n);
}
return 0;
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.