利用動態規劃求解Fibonacci數列
阿新 • • 發佈:2019-02-09
題目描述
The Fibonacci Numbers{0,1,1,2,3,5,8,13,21,34,55...} are defined by the recurrence:
F0=0 F1=1 Fn=Fn-1+Fn-2,n>=2
Write a program to calculate the Fibonacci Numbers.
輸入
Each case contains a number n and you are expected to calculate Fn.(0<=n<=30) 。
輸出
For each case, print a number Fn on a separate line,which means the nth Fibonacci Number.
樣例輸入
1
樣例輸出
1
提示
#include <cstdio> #include <cstring> typedef long long ll; const int maxn=100; ll dp[maxn]; ll F(int n){ if(n==0||n==1) return n; if(dp[n]!=-1) return dp[n]; else{ dp[n]=F(n-1)+F(n-2); return dp[n]; } } int main(){ int n; while(scanf("%d",&n)==1){ memset(dp,-1,sizeof(dp)); printf("%lld\n",F(n)); } return 0; }