Cod sursa(job #587908)

Utilizator perticas_catalinperticas catalin perticas_catalin Data 6 mai 2011 13:51:50
Problema Nunta Scor 100
Compilator cpp Status done
Runda speedt2 Marime 0.83 kb
#include <iostream>

using namespace std;

void aduna (int A[1005], int B[1005], int C[1005])
{
    int t = 0, i;

    for (i = 1; i <= A[0] || i <= B[0] || t; ++i)
    {
        if (i > A[0]) A[i] = 0;
        if (i > B[0]) B[i] = 0;
        C[i] = (A[i] + B[i] + t);
        t = C[i]/10;
        C[i] %= 10;
    }

    C[0] = i - 1;
}

void copiaza(int A[1005], int B[1005])
{
    for (int i = 0; i <= B[0]; ++i) A[i] = B[i];
}

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

    int N, l[1005], ll[1005], c[1005];

    scanf ("%d", &N);

    l[0] = l[1] = 1, ll[0] = ll[1] = 1, c[0] = c[1] = 1;

    for (int i = 2; i <= N; ++i)
    {
        aduna(l, ll, c);
        copiaza(ll, l);
        copiaza(l, c);
    }

    for (int i = c[0]; i >= 1; --i) printf ("%d", c[i]);

    return 0;
}