題目連結: 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; | |
} |