带记忆化搜索的斐波那契数列
//通过dp数组保留部分结果,动态规划避免大量重复性操作
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN=100;
int dp[MAXN];
int fabnaci(int n)
{
if(n==1 || n==2)
{
return 1;
}
if(dp[n] != -1)
{
return dp[n];
}
else
{
dp[n]=fabnaci(n-1)+fabnaci(n-2);
return dp[n];
}
}
int main()
{
fill(dp,dp+MAXN,-1);
int n;
cin>>n;
int res=fabnaci(n);
cout<<res<<endl;
}