您的位置:首页 > 其它

HDU 1715 大菲波数

2017-01-24 17:59 369 查看
#include<iostream>
using namespace std;
const int maxn=1000+5;
string f[maxn]={"0","1","1"};
string operator + (string s1,string s2)//大数相加
{
if(s1.size()<s2.size())
{
string temp=s1;
s1=s2;
s2=temp;
}
for(int i=(int)s1.size()-1,j=(int)s2.size()-1;i>=0;i--,j--)
{
s1[i]=char(s1[i]+(j>=0?s2[j]-'0':0));
if(s1[i]-'0'>=10)
{
s1[i]=char((s1[i]-'0')%10+'0');//注意细节,括号一定要加
if(i) s1[i-1]++;
else s1='1'+s1;
}
}
return s1;
}
int main()
{
for(int i=3;i<=1000;i++) {f[i]=f[i-1]+f[i-2];}
int n;
cin>>n;
while(n--){
int x;
cin>>x;
cout<<f[x]<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: