uva 10940

数学 打了个表 找一下规律....

#include <cstdio>

int a[30];
void init()
{
    a[1]=2;a[2]=4;a[3]=8;a[4]=16;a[5]=32;a[6]=64;a[7]=128;a[8]=256;a[9]=512;a[10]=1024;a[11]=2048;a[12]=4096;a[13]=8192;a[14]=16384;a[15]=32768;a[16]=65536;a[17]=131072;a[18]=262144;a[19]=524288;
}
int main()
{
    int n;
    init();
    while(scanf("%d",&n) && n)
    {
        if(n == 1)
        {
            puts("1");
            continue;
        }
        for(int i = 1; i < 20; i++)
        {
            if(a[i] >= n)
            {
                printf("%d\n",a[i]-2*(a[i]-n));
                break;
            }
        }
    }
    return 0;
}


posted @ 2013-08-10 17:06  xlc2845  阅读(85)  评论(0)    收藏  举报