【简要题意】:第二个是数字系统的代表性的定义。而给了你这个号码系统提示的形式和十进制转换之间的关系。现在给你一些这样的系统。让你把它变成2二进制输出。
【分析】:当中 base[k] = 2^(k+1)-1 = 2(2^k-1)+1 = 2base[k-1]+1
// 200K 0Ms #include<iostream> #include<cstring> using namespace std; int main() { int i,k,base[31],sum; char skew[32]; base[0] = 1; for(i = 1;i<31;i++) base[i] = 2*base[i-1] + 1; while(1) { cin>>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]; } cout<<sum<<endl; } return 0; }
版权声明:本文博主原创文章,博客,未经同意不得转载。
时间: 2024-10-11 09:57:32