大水题了,以为需要预处理什么的,结果……
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{
freopen("in.txt","r",stdin);
char str[50];
int ans;
while(scanf("%s",str)&&str[0]!='0')
{
int len=strlen(str);
ans=0;
for(int i=0;i<len;i++)
{
int tmp=str[i]-'0';
ans += tmp*((int)pow(2,len-i)-1);
}
printf("%d\n",ans);
}
return 0;
}