http://acm.hdu.edu.cn/showproblem.php?pid=1196

按要求直接做

View Code
#include <stdio.h>
int pow(int a,int b)
{
    int i,s=1;
    for(i=0;i<b;i++)
        s*=a;
    return s;
}
int main()
{
    int n,cnt,y;
    while(scanf("%d",&n),n)
    {
        cnt=0;
        while(1)
        {
            y=n%2;
            n/=2;
            if(y==1)break; 
            cnt++;
        }
        printf("%d\n",pow(2,cnt));
    }
    return 0;
}