一天一只顽猴想要从山脚爬到山顶,
途中经过一个有n
个台阶的阶梯,
但是这个猴子有个习惯,每一次只跳1
步或3
步
试问?猴子通过这个阶梯有多少种不同的跳跃方式?
输入描述
输入只有一个数n
, 0 < n < 50
代表此阶梯有多个台阶
输出描述
有多少种跳跃方式
function countWays(n) {
let dp = new Array(n + 1).fill(0);
dp[0] = 1;
dp[1] = 1;
dp[2] = 1;
for (let i = 3; i <= n; i++) {
dp[i] = dp[i - 1] + dp[i - 3];
}
return dp[n];
}
// 示例输入
let n = 50; // 你可以改变这个值来测试不同的台阶数
console.log(`猴子通过 ${n} 个台阶的阶梯有 ${countWays(n)} 种不同的跳跃方式。`);