1 /*将数字存储在数组中 2 #math.h 3 strlen(a)=len 4 sum=0 5 for(i=0;i<len;i++) 6 sum+=a[i]*(pow(2,len-i)-1)*/ 7 8 #include <stdio.h> 9 #include <stdlib.h> 10 #include<string.h> 11 #include<math.h> 12 int main() 13 { 14 int len,i; 15 char arr[100]; 16 int bin[100]; 17 while(scanf("%s",arr)!=EOF){ 18 if(arr[0]=='0') 19 break; 20 len=strlen(arr); 21 for(i=0;i<len;i++) 22 { 23 bin[i]=arr[i]-'0'; 24 } 25 int sum=0; 26 for(i=0;i<len;i++) 27 { 28 sum+=bin[i]*(pow(2,len-i)-1); 29 } 30 printf("%d ",sum); 31 } 32 return 0; 33 }
数论问题---skew binary 偏移二进制