超級水題!直接模擬即可,我用了__int64,省的出什么事。
我的代碼如下:
#include<stdio.h>
typedef __int64 Long;
Long f(long a,long n)

{
Long i,re=1;
for(i=1;i<=n;i++)
re*=a;
return re;
}
int main()

{
Long a,i,k,s[2][50]=
{0};
scanf("%I64d",&a);
k=1;
while(a>0)
{
s[0][k]=a%2;
k++;
a/=2;
}
for(i=1;i<=16;i++)
s[1][i+16]=s[0][i];
for(i=17;i<=32;i++)
s[1][i-16]=s[0][i];
a=0;
for(i=1;i<=32;i++)
a+=(s[1][i]*f(2,i-1));
printf("%I64d\n",a);
return 0;
}


