查找数组是为了在多次计算斐波那契数列时减少重复的计算。扩展到其他的例子,需要递推公式计算结果的,可以考虑通过多开数组浪费空间的方法节省时间。
#include<iostream>
using namespace std;
int main() {
int i,j,n,maxn,a[100];
a[1]=a[2]=1;
maxn=2;
while(cin>>n){
if(n>maxn){
for(i=maxn;i<n;i++)
a[i+1]=a[i]+a[i-1];
}
cout<<a[n]<<endl;
}
return 0;
}