uva 575 - Skew Binary

这是一题进制转换问题,因为最大为2^31-1,所以只要建立一个数组把2^1-1 到2^31-1先保存就是一个很简单的问题

 1 #include<iostream>
 2 #include<string>
 3 #include<algorithm>
 4 using  namespace std;
 5 int main(){
 6     long long kth[32];
 7     kth[0]=1;
 8     for(int i=1;i<32;i++){
 9         kth[i]=(kth[0]=kth[0]<<1)-1;
10     }
11     string temp;
12     while(getline(cin,temp)){
13         if(temp=="0")
14             break;
15         reverse(temp.begin(),temp.end());
16         long long num=0;
17         for(int i=0;i<temp.size();i++)
18             num+=(temp[i]-'0')*kth[i+1];
19         cout<<num<<endl;
20     }
21 }

 

posted on 2014-01-23 11:27  云在心  阅读(161)  评论(0)    收藏  举报

导航