hdu 1715 大菲波数

来源:互联网 发布:淘宝买的基金如何赎回 编辑:程序博客网 时间:2024/06/06 05:25

大菲波数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 11294    Accepted Submission(s): 3830


Problem Description
Fibonacci数列,定义如下:
f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n>=3。
计算第n项Fibonacci数值。
 

Input
输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。
 

Output
输出为N行,每行为对应的f(Pi)。
 

Sample Input
512345
 

Sample Output
11235
 

#include <iostream>#include <cstdio>#include <string.h>using namespace std;string add(string a,string b){    string Max;    string Min;    if(a.size()>b.size())    {        Max=a;        Min=b;    }    else    {        Max=b;        Min=a;    }    long j=Max.size()-1;    for (long  i=Min.size()-1; i>=0; i--,j--)    {        Max[j]+=Min[i]-'0';    }    for (j=Max.size()-1; j>=1; j--)    {        if(Max[j]>'9')        {            Max[j]-=10;            Max[j-1]++;        }    }    if(Max[0]>'9')    {        Max[0]-=10;        Max='1'+Max;    }    return Max;}int main(){    string s[1001];    s[1]='1';    s[2]='1';    for (int i=3; i<1001; i++)    {        s[i]=add(s[i-1],s[i-2]);    }    int n,N;    cin>>n;    while (n--)    {        cin>>N;        cout<<s[N]<<endl;    }    return 0;}



0 0
原创粉丝点击