一、題目
一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。
分析到這裡不難發現本題的本質與斐波那契數列問題相似。因此解題的方法也基本相同。
程式碼展示:
#include<iostream>
using namespace std;
const int N = 1010;
int n;
int f[N];
int main()
{
cin >> n;
f[1] = 1, f[2] = 2;
for (int i = 3; i <= n; i++)//從第三項開始,每一項都等於前兩項之和
{
f[i] = f[i - 2] + f[i - 1];//遞推公式
}
cout << f[n]<<endl;
return 0;
}