HDU 1715-大菲波数(大数)

来源:互联网 发布:linux下查看历史命令 编辑:程序博客网 时间:2024/05/18 08:49

address:http://acm.hdu.edu.cn/showproblem.php?pid=1715

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

code:

#include <iostream>#include <string.h>#include <cstdio>using namespace std;int main (){    int i,j;    int a[1001][301];    memset(a,0,sizeof(a));    a[1][0]=1;    a[2][0]=1;    int next=0,count=1;    for (i=3;i<=1000;i++)    {        for (j=0;j<count;j++)        {            a[i][j] = a[i-1][j]+a[i-2][j]+next;            next = a[i][j]/10;            a[i][j] = a[i][j]%10;        }        while (next)        {            count++;            a[i][count-1]=next%10;            next = next/10;        }    }    int n;    cin>>n;    while (n--)    {        int i;        int x,flag=0;        cin>>x;        for (i=count;i>=0;i--)        {            if (a[x][i]==0&&flag==0)                continue;            else            {                flag=1;                cout<<a[x][i];;            }        }        cout<<endl;    }    return 0;}
原创粉丝点击