题意看题目公式,不解释。。。不要被题目吓到,说是数论题,其实是大水题。。。
偶尔切切水题有益健康。。。
代码:
#include <cstdio>
#include <cstring>
const int maxn = 33;
char num[maxn];
int main() {
int n;
while (gets(num) && num[0] != '0') {
int l = strlen(num);
int sum = 0;
for (int i = 0 ;i < l; i++)
sum += (num[i] - '0') * ((1 << (l - i)) - 1);
printf("%d\n", sum);
}
return 0;
}