C++算台阶有多少种走法的代码如何写
时间: 2024-02-15 16:04:12 浏览: 55
java代码-使用java解决有10级台阶,每次可以走一阶或两阶,有多少种走法的源代码
可以使用动态规划的思想来解决这个问题。具体来说,我们可以定义一个长度为 n+1 的数组 dp,其中 dp[i] 表示走到第 i 个台阶有多少种走法。根据题目要求,我们可以得到以下状态转移方程:
dp[i] = dp[i-1] + dp[i-2]
其中,dp[0] = 1,dp[1] = 1,表示在第 0 个台阶和第 1 个台阶都只有一种走法。
下面是 C++ 的代码实现:
```cpp
int climbStairs(int n) {
if (n == 0 || n == 1) {
return 1;
}
vector<int> dp(n+1);
dp[0] = 1;
dp[1] = 1;
for (int i = 2; i <= n; i++) {
dp[i] = dp[i-1] + dp[i-2];
}
return dp[n];
}
```
该函数的输入参数是一个整数 n,表示有多少个台阶。函数返回一个整数,表示走完 n 个台阶有多少种不同的走法。
阅读全文