Accepted solution

UVA 10579 - Fibonacci Numbers Solution

Open original problem
Source code

#include<iostream>

using namespace std;

int fibo[5010][1010];

void fib()

{

    long int a,i,j,k;

    fibo[0][1000]=0;

    fibo[1][1000]=fibo[2][1000]=1;

    for(i=3; i<5000; i++)

    {

        for(j=1000; j>=0; j--)

        {

            fibo[i][j]=fibo[i][j]+fibo[i-1][j]+fibo[i-2][j];

            if(fibo[i][j]>9)

            {

                fibo[i][j-1]+=(fibo[i][j]/10);

                fibo[i][j]=fibo[i][j]%10;

            }

        }

    }

}

int main()

{

    int n,s,j,i,l=0;

    fib();

    while(cin>>n)

    {

        for(i=0; ; i++)

        {

            if(fibo[n][i]!=0)break;

        }

        for(j=i; j<=1000; j++)

        {

            cout<<fibo[n][j];

        }

        cout<<endl;

    }

    return 0;

}
Join the discussion

Add your comment