题目大意:
给一个正整数A,输出A的最低位。
比如A=26,A的二进制形式是11010,所以最低位是10,输出2.比如A=88,A的二进制形式是1011000,最低位是1000,输出是8
解题思路:
水题一道
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
int a,k;
while(scanf("%d",&a)&&a)
{
k=1;
while(!(a%2))
{
k=2*k;
a=a/2;
}
printf("%d\n",k);
}
return 0;
}