用最简单的c++知识编写以下代码小明爬楼梯他可以每次走1级或者2级输入楼梯的级数求不同的走法数。例如:楼梯一共有3级他可以每次都走一级或者第一次走一级第二次走两级;也可以第一次走两级第二次走一级一共3种方法。输入输入包含若干行正整数第一行正整数K代表数据组数;后面K行每行包含一个正整数N代表楼梯级数1 = N = 30输出不同的走法数每一行输入对应一行输出样例输入35810样例输出83489
#include
int climbStairs(int n) { if (n == 1) { return 1; } if (n == 2) { return 2; } int dp[n+1]; dp[1] = 1; dp[2] = 2; for (int i = 3; i <= n; i++) { dp[i] = dp[i-1] + dp[i-2]; } return dp[n]; }
int main() { int K; cin >> K; for (int i = 0; i < K; i++) { int N; cin >> N; int result = climbStairs(N); cout << result << endl; } return 0; }
原文地址: https://www.cveoy.top/t/topic/iZYP 著作权归作者所有。请勿转载和采集!