Cod sursa(job #1483629)

Utilizator tudormaximTudor Maxim tudormaxim Data 9 septembrie 2015 17:25:45
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 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;
}