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;
} 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号