題目連結: https://zerojudge.tw/ShowProblem?problemid=b127

# 解題思路

一開始看到這題,應該可以輕鬆地看出他就是一個費氏數列
我們就先使用最強硬的方法來解決吧!!
用遞迴的方式解決費氏數列!!

如果 n 等於 1,就是 1 f (1) = 1
如果 n 等於 2,其值還是 1 f (2) = 1
如果 n 大於 2,其值就是前兩項的和 f (n-1) + f (n-2)

(以後還會有很多更有效的方法解決這問題,例如:DP)

# 程式碼

#include<iostream>
using namespace std;
int f(int n)
{
    if(n==1)
        return 1;
    else if(n==2)
        return 1;
    else
        return f(n-1)+f(n-2);
}
int main()
{
    int n;
    while(cin>>n){
        n++;
        cout<<f(n)<<endl;
    }
    return 0;
}
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay