斜二进制数(shu)

提交数: 656, 通过率: 40.55%, 平均分: 65.03

题目描述:

当一个数是十进制数,每项的基数表现为10的k次方(数字是有限的,从左边到右边,最末的数字是10的0次方)。举例来说:
81307(10)=8×104+1×103+3×102+0×101+7×100
= 80000+1000+300+0+7
= 81307
当一个数是二进制数,每项的基数表现为2的k次方。举例来说:
10011(2)= 1×24+0×23+0×22+1×21+1×20
= 16+0+0+2+1.
= 19
在斜二进制中,我们定义shu为斜二进制数,每项的基数表现2的(k+1)次方减1。举例来说:
l0120(shu)=1×(25-1)+0×(24-1)+1×(23-1)+2×(22-1)+0×(21―1)
= 31+0+7+6+0
= 44

例如:最初10个数字在斜二进制中是0,1,2,10,11,12,20,100,101,102。

输入格式:

输入文件包括1行数据,一个斜二进制整数。

输出格式:

输出斜二进制数字的十进制值,要是超过2147483647,则输出"too long!"。

样例输入:

11

样例输出:

4

提示:

读入的数的长度<=100,用单个long long 变量是存储不了的。

建议用字符读入,存入字符数组中。

时间限制: 1000ms
空间限制: 64MB