poj1565---(数论)skew binary

 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\n",sum);
31     }
32     return 0;
33 }

数论问题---skew binary 偏移二进制

posted @ 2015-05-08 14:57  Gabyler  阅读(216)  评论(0)    收藏  举报