#include<iostream>
using namespace std;
int main ()
{
int m,f[20];
cin>>m;
f[1]=1;
f[2]=1;
for(int i=3;i<20;i++)
f[i]=f[i-1]+f[i-2];
while(m--)
{
int n;
cin>>n;
cout<<f[n]<<endl;
}
return 0;
}
注意题目中给出的数据范围,输入的整型数n<20,即数据不超过二十个,那么就可以直接将前19个斐波那契数计算出来,用一个整形数组来存放,每次输入一个整数n,则输出该数组中的第n个数。
在while循环之外建立数组就可以。