10334 - Ray Through Glasses

#include<stdio.h>
#define max 5005
#define length 3000
int fib[max][length];
void fibonacci()
{
    fib[0][0]=1;
    fib[1][0]=2;
    int i,j,rem=0;
    for(i=2; i<max; i++)
    {
        for(j=0; j<length; j++)
        {
            fib[i][j]=fib[i-1][j]+fib[i-2][j]+rem;
            rem=0;
            if(fib[i][j]>9)
            {
                fib[i][j]=fib[i][j]%10;
                rem=1;
            }
        }
    }
}
int main()
{
    fibonacci();
    int n,i,j,k,rem;
    while(scanf("%d",&n)==1)
    {
        for(j=length-1; ; j--)
        {
            if(fib[n][j]!=0)
            {
                break;
            }
        }
        if(n==0)
        {
            printf("1\n");
        }
        else
        {
            for(; j>=0; j--)
            {
                printf("%d",fib[n][j]);
            }
            printf("\n");
        }
    }
    return 0;
}

0 comments: (+add yours?)