灵感来自无限计数
给定一个非负整数N
,输出达到0所需的以下步骤的重复次数:
- 转换
N
为二进制(4812390 -> 10010010110111001100110
) - 翻转每一位(
10010010110111001100110 -> 01101101001000110011001
) - 修剪前导零(
01101101001000110011001 -> 1101101001000110011001
) - 转换回十进制(
1101101001000110011001 -> 3576217
)
规则
- 输入和输出可以采用任何明确,一致的格式
- 输入将在您的语言的本机可表示整数范围内(如果您的语言支持任意大的整数,则没有限制)
测试用例
0 -> 0
1 -> 1
42 -> 6
97 -> 3
170 -> 8
255 -> 1
682 -> 10
8675309 -> 11
4812390 -> 14
178956970 -> 28
2863311530 -> 32
~(~a) == a