#include <iostream>
#include <string>
using namespace std;
string Add(string fNum,string sNum)
{
if( fNum.length() < sNum.length() ) fNum.swap(sNum);
string A = "0";
A += fNum;
for ( int i=1;i<=fNum.length();i++)
if(i<=sNum.length())
A[A.length()-i]+=sNum[sNum.length()-i]-'0';
for( int i=1;i<A.length();i++)
{
if(A[A.length()-i]>'9')
{ A[A.length()-i]-=10;A[A.length()-i-1]+=1; }
}
while(A[0]=='0') A.erase(0,1);
return A;
}
string F[1001] = { "0", "1", "1" };
void setNum ()
{
for ( int i = 3; i != 1001; ++ i )
{
F[i] = Add ( F[i-1] , F[i-2] ) ;
}
}
int main ()
{
int T;
setNum ();
while ( cin >> T )
{
while ( T -- )
{
int N;
cin >> N;
cout << F[N] << endl;
}
}
return 0;
}
HDU 1715 使用大数模板
最新推荐文章于 2021-02-13 09:25:30 发布