#T557836. skew二进制

skew二进制

题目描述

在skew二进制里,第k位的权值为2(k+1)2^{(k+1)} - 1,skew二进制的数码为0和1,最低的非0位可以取2。例如: 10120(skew2)10120_{(skew2)} = 1 * (252^5 - 1) + 0 * (242^4 - 1) + 1 * (232^3 - 1) + 2 * (222^2 - 1) + 0 * (212^1 - 1) = 31 + 0 + 7 + 6 + 0 = 44. skew二进制的前10个数为0,1,2,10,11,12,20,100,101和102。

输入格式

输入占一行,为skew二进制下的一个非负整数n。

输出格式

对输入的skew二进制数,输出对应的十进制数。n最大值对应到十进制为2312^{31} - 1 = 2147483647。

输入输出样例 #1

输入 #1

10120

输出 #1

44

输入输出样例 #2

输入 #2

1000000000000000000000000000000

输出 #2

2147483647

说明/提示

本题出处

本题源自以下教材的编程习题:王桂平, 周思益, 周迎川著. C++编程与信息学竞赛数学基础, 北京大学出版社, 2025年7月出版.