题目链接: [超级楼梯]
大致题意:
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
解题思路:
斐波那契数列
AC代码:
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int dp[50];
int main(void)
{
dp[1] = dp[2] = 1;
for (int i = 3; i <= 40; ++i) {
dp[i] = dp[i - 1] + dp[i - 2];
}
int t; scanf("%d", &t);
while (t--) {
int n; scanf("%d", &n);
cout << dp[n] << endl;
}
return 0;
}