http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19086
水题,就是把一个斜二进制数转化成十进制数。
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int main()
{
//freopen("a.txt","r",stdin);
char s[100];
int i;
while(~scanf("%s",s)&&s[0]!='0')
{
int l=strlen(s),sum=0;
for(i=0;i<l;i++)
{
if(s[i]!='0') sum+=((int)pow(2,l-i)-1)*(s[i]-'0');
}
printf("%d\n",sum);
}
}