给你一个正整数 A(1 \le A \le 100)A(1≤A≤100),输出 AA 的最低数。
例如,给你 A=26A=26,我们可以将 AA 化成二进制为 1101011010,则 AA 的最低数是 1010,输出 1010 的十进制为 22。
再例如,给你 A=88A=88,我们可以将 AA 化成二进制为 10110001011000,则 AA 的最低数是 10001000,输出为 88。
输入格式
输入包含多组测试样例。每行输入一个正整数 A(1 \le A \le 100)A(1≤A≤100)。当输入 00 时,输入结束。
输出格式
对于每一个输入,输出对应的最低数。
#include<stdio.h>
#include<math.h>
int main(){
int a;
while(1){
scanf("%d",&a);
if(a==0) break;
int i=0;
int bin[32]={0};
while(a>0){
bin[i]=a%2;
a/=2;
i++;
}
for(int j=0;j<i;j++){
if(bin[j]!=0) {printf("%d\n",(int)pow(2,j));break;}
}
}
return 0;
}