Fibonacci

来源:互联网 发布:美国动画产业 知乎 编辑:程序博客网 时间:2024/06/15 14:38

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<stdio.h>#include<string.h>int a[1002][300];int main(){    memset(a,0,sizeof(a));    int i,j,k,n,m;    a[2][0]=1;    a[1][0]=1;    int g=0;    for(i=3;i<1002;i++)    {        for(j=0;j<=g;j++)        {            a[i][j]+=a[i-1][j]+a[i-2][j];            if(a[i][j]>=10)            {                a[i][j+1]=a[i][j]/10;                a[i][j]=a[i][j]%10;            }        }        if(a[i][g])        {            g++;        }    }    int l;    scanf("%d",&l);    while(l--)    {        int h;        scanf("%d",&h);        for(i=g;i>=0;i--)            if(a[h][i])                break;        for(;i>=0;i--)            printf("%d",a[h][i]);        printf("\n");    }    return 0;}
0 0