HDU1196 ZOJ2417 Lowest Bit

问题链接:HDU1196 ZOJ2417 Lowest Bit入门训练题,用C语言编写程序。

这个问题从1开始逐步试探即可,然后是:2,4,8,16,......。每次左移1位即可。

AC程序如下:

/* HDU1196 ZOJ2417 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;
}


posted on 2016-07-13 13:14  海岛Blog  阅读(83)  评论(0编辑  收藏  举报

导航