描述
给你一个非负整数 `k`。有一个无限长的台阶,最低一层编号为 0。
Alice 有一个整数 `jump`,一开始值为 0。Alice 从台阶 1 开始,可以使用任意次操作,目标是到达第 `k` 级台阶。假设 Alice 位于台阶 `i`,一次操作中,Alice 可以:
- 向下走一级到 `i - 1`,但该操作不能连续使用,如果在台阶第 0 级也不能使用。
- 向上走到台阶 `i + 2^jump` 处,然后 `jump` 变为 `jump + 1`。
请你返回 Alice 到达台阶 `k` 处的总方案数。
注意,Alice 可能到达台阶 `k` 处后,通过一些操作重新回到台阶 `k` 处,这视为不同的方案。
输入
一行,包含一个整数 `k`。
输出
输出一个整数,表示到达第 `k` 级台阶的方案数。
样例
- 复制
- 复制
- 复制
- 复制
提示
- `0 <= k <= 10^9`
### 样例解释 1
2 种到达台阶 0 的方案为:
1. Alice 从台阶 1 开始,执行第一种操作,从台阶 1 向下走到台阶 0。
2. Alice 从台阶 1 开始,执行第一种操作向下走到 0,再执行第二种操作向上走 1 级到台阶 1,再执行第一种操作向下走到 0。
---
### 样例解释 2
4 种到达台阶 1 的方案:
1. Alice 从台阶 1 开始,已经到达台阶 1。
2. Alice 从台阶 1 开始,向下走到 0,再向上走到 1。
3. Alice 从台阶 1 开始,向上走到 2,再向下走到 1。
4. Alice 从台阶 1 开始,向下到 0,向上到 1,向下到 0,向上到 2,再向下到 1。

关注我们