给定一个正整数(1<= A<=100)A的输出最低位
例如,给定A =26,我们可以写一个以二进制形式为11010,所以A的最低位是10,那么输出应该是2。
另一个例子是这样的:给定A =88,我们可以写一个以二进制形式为1011000,所以A的最低位是1000,那么输出应该是8。
#include<stdio.h>
#include<string.h>
int main()
{
int a,b[1000],t,i,j;
while(scanf("%d",&a)!=EOF)
{
if(a==0)break;
memset(b,0,sizeof(b));
i=0;
while(a)
{
b[i++]=a%2;
a=a/2;
}
t=1;
for(j=0 ; j<i ; j++)
{
if(b[j])break;
t*=2;
}
printf("%d\n",t);
}
return 0;
}