Cod sursa(job #2053124)

Utilizator HD650Stoicescu Adrian Nicolae HD650 Data 31 octombrie 2017 15:37:19
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <cstdio>
//using namespace std;

unsigned char f0[210] = {1, 0}, f1[210] = {1, 1};
unsigned char *F0 = f0, *F1 = f1, *FF;
void add(unsigned char A[], unsigned char B[])
{
    int t = 0;
    A[0] = B[0];
    for(int i = 1; i <= B[0]; i++)
    {
        A[i] += t + B[i];
        t = A[i] / 10;
        A[i] %= 10;
    }
    if(t > 0)
        A[++A[0]] = t;
}

int main()
{
    int N;
    FILE *f;
    f = fopen("nunta.in", "r");
    fscanf(f, "%d", &N);
    fclose(f);
    for(int i = 1; i <= N; i++)
    {
        add(F0, F1);
        FF=F0;
        F0=F1;
        F1=FF;
    }
    f = fopen("nunta.out", "w");
    for(int i = F1[0]; i > 0; i--)
        fputc(char(F1[i] + '0'), f);
    //fprintf(g, "%d", F1[i]);
    fclose(f);
    return 0;
}