描述
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。给出一个正整数a,要求菲波那契数列中第 a 个数是多少。
输入描述
第 1 行是测试数据的组数n,后面跟着 n 行输入。每组测试数据占 1 行,包括一个正整数 a ( 1≤a≤20 )。
输出描述
输出有 n 行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第 a 个数的大小。
样例输入 1
4 5 2 19 1
样例输出 1
5 1 4181 1
#include <bits/stdc++.h>
using namespace std;
int b[1000001];
int main() {
int n;
cin>>n;
int ai[n];
for(int i=0; i<n; i++) {
cin>>ai[i];
}
b[0]=1;
b[1]=1;
for(int i=2; i<=1000000; i++) {
b[i]=(b[i-1]+b[i-2])%10000;
}
for(int i=0; i<n; i++) {
cout<<b[ai[i]-1]<<endl;
}
}