标签:
问题链接:HDU1196 Lowest Bit。入门训练题,用C语言编写程序。
这个问题从1开始逐步试探即可,然后是:2,4,8,16,......。每次左移1位即可。
AC程序如下:
/* HDU1196 Lowest Bit */
#include <stdio.h>
int main(void)
{
int a, v;
while(scanf("%d", &a) != EOF) {
// 判定结束条件
if(a == 0)
break;
// 寻找最小2进制数:从1开始试探,然后是1×2,1×2×2,......
v = 1;
while(!(a & v))
v <<= 1; // v = v * 2
printf("%d\n", v);
}
return 0;
}标签:
原文地址:http://blog.csdn.net/tigerisland45/article/details/51884818