/*
* 解题思路:
* 水题、直接套用公式即可
*/
#include <math.h> #include <stdio.h> #include <string.h> char s[ 10000 ]; int main( ) { int i,len,sum; while( scanf("%s",s) ) { len = strlen( s ); if( s[ 0 ] == ‘0‘ && len == 1 ) break; for( i=sum=0;i<len;i++ ) sum += (s[ i ]-‘0‘) * (int)( pow( 2 , len-i )-1); printf("%d\n",sum); } return 0; }
*/
原文:http://blog.csdn.net/u011886588/article/details/19415121