Cod sursa(job #934867)

Utilizator AlexandruValeanuAlexandru Valeanu AlexandruValeanu Data 31 martie 2013 19:50:33
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <cstdio>

using namespace std;

typedef short int BigNumber[100];

BigNumber A, B, C;

int N;

int main(){

    freopen("nunta.in", "r", stdin);
    freopen("nunta.out", "w", stdout);

    scanf("%d", &N);

    A[0]=1;
    A[1]=2;
    B[0]=1;
    B[1]=1;

    if ( N == 1 )
        printf("1\n");
    else{
            for ( int j = 1; j < N - 1; j++ ){

                int T = 0, i;

                for ( i = 0; i <= A[0]; i++ )
                    C[i] = A[i];

                for ( i = 1; i <= A[0] || i <= B[0] || T; i++, T /= 10 )
                    A[i] = ( T += A[i] + B[i] ) % 10;

                A[0] = i - 1;

                for ( i = 0; i <= C[0]; i++ )
                    B[i] = C[i];
            }

            for(int i = A[0]; i; i-- )
                printf("%d", A[i] );
        }

    return 0;
}