1. 程式人生 > >《演算法筆記》——hdu2041 簡單遞迴

《演算法筆記》——hdu2041 簡單遞迴

題解:由題目可知,每次只能走一級或兩級。 因此從第一級走上第二級只能走一步,只有1種走法。 從第一級走上第三級,可以從第一級直接走兩步,也可以從第二級走一步。有2種走法走上第n級,可以從第n-1級走一步上來,也可以從第n-2級走兩步上來。即: f(2) = 1 f(3) = 2 f(n) = f(n-1) + f(n-2) (n > 3)

是一個斐波那契函式。 

附上程式碼:


#include<iostream>
using namespace std;

int main()
{
    int n,m,a[40];
    while(cin>>m)
    {
        while(m--)
        {
            cin>>n;
            a[1]=0;a[2]=1;a[3]=2;
            for(int i = 4; i <= n; i++)
            {
                a[i] = a[i-1] + a[i-2];
            }
            cout<<a[n]<<endl;
        }
return 0;
    }
}