大数运算
#include<iostream>
using namespace std;
int a[1010][550];
void fib()
{
int s,c;
a[1][0]=1;
a[2][0]=1;
for(int i=3; i<1001; i++)
{
c=0;
for(int j=0; j<=500; j++) /*以下步骤模拟大数计算,初始化斐波那契数列*/
{
s=a[i-1][j]+a[i-2][j]+c;
a[i][j]=s%10;
c=s/10;
}
}
}
int main()
{
fib();
int n,p,i;
cin>>n;
while(n--)
{
cin>>p;
for(i=500; i>=0; i--) /*找到数值的最后一位 */
{
if(a[p][i])
break;
}
for(; i>=0; i--)
{
cout<<a[p][i];
}
cout<<endl;
}
return 0;
}