输入用字符串输入,存入数组中,题目的数据最大250位
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int s[1010][250];
void f()
{
memset(s,0,sizeof(s));
s[1][0]=1;s[2][0]=2;
for(int i=3;i<=1000;i++){
for(int j=0;j<250;j++){
s[i][j]+=s[i-1][j]+s[i-2][j];
if(s[i][j]>=10){
s[i][j]=s[i][j]%10;
s[i][j+1]++;
}
}
}
}
int main()
{
int t,c,n;
string str;
f();
cin>>t;
while(t--){
cin>>str;
n=str.size();
c=249;
while(c--){
if(s[n][c]!=0)
break;
}
for(;c>=0;c--)
cout<<s[n][c];
cout<<endl;
}
return 0;
}