Cod sursa(job #115790)

Utilizator dominoMircea Pasoi domino Data 16 decembrie 2007 22:51:29
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>

#define MAX_N 1005
#define FIN "nunta.in"
#define FOUT "nunta.out"

int N, F[2][MAX_N];

void add(int a[], int b[])
{
    int i, t = 0;

    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;
}

int main(void)
{
    int i;

    freopen(FIN, "r", stdin);
    freopen(FOUT, "w", stdout);

    scanf("%d", &N);

    F[0][0] = F[0][1] = F[1][0] = F[1][1] = 1;
    for (i = 2; i <= N; ++i)
        add(F[i&1], F[!(i&1)]);
    for (i = F[N&1][0]; i > 0; --i)
        printf("%d", F[N&1][i]);
    printf("\n");

    return 0;
}