码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 1865 1sting

时间:2015-07-13 22:32:55      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

高精度

斐波那契数

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int L=110;
string add(string a,string b)//只限两个非负整数相加
{
    string ans;
    int na[L]={0},nb[L]={0};
    int la=a.size(),lb=b.size();
    for(int i=0;i<la;i++) na[la-1-i]=a[i]-'0';
    for(int i=0;i<lb;i++) nb[lb-1-i]=b[i]-'0';
    int lmax=la>lb?la:lb;
    for(int i=0;i<lmax;i++) na[i]+=nb[i],na[i+1]+=na[i]/10,na[i]%=10;
    if(na[lmax]) lmax++;
    for(int i=lmax-1;i>=0;i--) ans+=na[i]+'0';
    return ans;
}
string dp[200+5];
int main()
{
    dp[1]="1";
    dp[2]="2";
    for(int i=3;i<205;i++) dp[i]=add(dp[i-1],dp[i-2]);
    string x;
    int t;
    cin>>t;
    while(t--)
    {
    	cin>>x;
    	cout<<dp[x.size()]<<endl;
    }
    return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

hdu 1865 1sting

标签:

原文地址:http://blog.csdn.net/zafkiel_nightmare/article/details/46867319

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!