#P1565. Skew Binary

Skew Binary

本题没有可用的提交语言。

题目描述

在十进制中,第k位数字表示10k10^k的倍数(从右到左编号,最低位为第0位)。例如:

$$81307_{(10)} = 8 \times 10^4 + 1 \times 10^3 + 3 \times 10^2 + 0 \times 10^1 + 7 \times 10^0 = 81307 $$

在二进制中,第k位数字表示2k2^k的倍数。例如:

$$10011_{(2)} = 1 \times 2^4 + 0 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 = 19 $$

在偏斜二进制(Skew Binary)中,第k位数字表示2k+112^{k+1} - 1的倍数。其允许的数字为0和1,但最低非零位可以是2。例如:

$$10120_{(\text{skew})} = 1 \times (2^5-1) + 0 \times (2^4-1) + 1 \times (2^3-1) + 2 \times (2^2-1) + 0 \times (2^1-1) = 44 $$

偏斜二进制的前10个数是:0、1、2、10、11、12、20、100、101、102。

输入格式

输入包含一行或多行,每行包含一个整数nn。当n=0n=0时表示输入结束,否则nn是一个用偏斜二进制表示的非负整数。

输出格式

对每个输入的偏斜二进制数,输出其对应的十进制值。所有结果不超过2311=21474836472^{31} - 1 = 2147483647

输入示例1

10120  
200000000000000000000000000000  
10  
1000000000000000000000000000000  
11  
100  
11111000001110000101101102000  
0  

输出示例1

44  
2147483646  
3  
2147483647  
4  
7  
1041110737  

来源

Mid-Central USA 1997