编程题
3 skew二进制 ## 来源 Mid-Central USA 1997 (ZOJ1712, POJ1565) ## 题目描述 在skew二进制里,第k位的权值为2^(k+1) - 1,skew二进制的数码为0和1,最低的非0位可以取2。例如: 10120(skew2) = 1 * (2^5 - 1) + 0 * (2^4 - 1) + 1 * (2^3 - 1) + 2 * (2^2 - 1) + 0 * (2^1 - 1) = 31 + 0 + 7 + 6 + 0 = 44. skew二进制的前10个数为0,1,2,10,11,12,20,100,101和102。 ## 输入描述 输入文件包含若干行,每行为一个整数n。n = 0代表输入结束。除此之外,n是skew二进制下的一个非负整数。 ## 输出描述 对输入文件中的每个skew二进制数,输出对应的十进制数。n最大值对应到十进制为2^31 – 1 = 2147483647。 ## 样例输入 ```txt 10120 1000000000000000000000000000000 0 ``` ## 样例输出 ```txt 44 2147483647 ```
查看答案
赣ICP备20007335号-2