#include<bits/stdc++.h>
using namespace std;
int a[10000];
int s(int n){
if( a[n] != 0 ) return a[n];
if(n==1 || n==2) return 1;
else {
{
int ans = s(n-1)+s(n-2);
a[n] = ans;
return ans;
}
}
}
int main( ){
memset( a, 0, sizeof(a) );
int fei;
cin>> fei;
while(fei--){
int num;
cin >> num;
cout << s( num ) << endl;
}
return 0;
}
递归现在不浪费空间了。
memset( ~, ~, sizeof(~) );
表示将一个一维数组中的所有数赋值成几。