书上的思路总是那么清晰
代码总是那么优美
#include <fstream>
#include <string.h>
#include <stdio.h>
#define _cdebbug
//全局数据
int main()
{
//重定向
#ifdef _cdebbug
freopen("F:\\input.txt","r",stdin );
#endif
int i;
char skew[35];
int sum,k;
int base[31];
base[0] = 1;
for(i = 1; i < 31; ++i)
base[i] = 2 * base[i - 1] + 1;
while(1)
{
scanf("%s",skew);
if(strcmp(skew,"0") == 0)
break;
sum = 0;
k = strlen(skew);
for(i = 0; i < strlen(skew); ++i)
{
k--;
sum += (skew[i] - '0') * base[k];
}
printf("%d\n",sum);
}
//解除重定向关闭文件
#ifdef _cdebbug
fclose(stdin);
#endif
return 0 ;
}