Cod sursa(job #1803626)

Utilizator eddie.deaconuDeaconu Stefan-Eduard eddie.deaconu Data 11 noiembrie 2016 17:13:34
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <cstdio>

int N;
unsigned char a[215] = {1, 1}, b[215] = {1, 2};
unsigned char *f1 = a, *f2 = b, *aux;

void adun(unsigned char *A, unsigned char *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()
{
    FILE *f;
    f = fopen("nunta.in", "r");
    fscanf(f, "%d", &N);
    fclose(f);
    if(N == 1)
        f2 = f1;
    else
        for(int i = 3; i <= N; i++)
        {
            adun(f1, f2);
            aux = f1;
            f1 = f2;
            f2 = aux;
        }
    f = fopen("nunta.out", "w");
    for(int i = f2[0]; i > 0; i--)
        fprintf(f, "%c", f2[i] + 48);
        //fputc(f2[i] + 48, f);
    fclose(f);
    return 0;
}