您的位置:首页 > 其它

hdu 1715 大菲波数

2014-08-04 12:57 253 查看


大菲波数

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

5
1
2
3
4
5


Sample Output

1
1
2
3
5


#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
<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: