Cod sursa(job #1795364)

Utilizator andreistanStan Andrei andreistan Data 2 noiembrie 2016 11:32:56
Problema Nunta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>

const int MAXN=210;

int N;

unsigned char F1[MAXN]={1, 1}, F2[MAXN]={1, 2};
unsigned char *s1 = F1, *s2 = F2, *s;

void add(unsigned char A[], unsigned char B[])
{
    int i, t = 0;
    for(i = 1; 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 <= 2)
        s2[1] = N;
    else
        for(int i = 3; i <= N; i++)
        {
            add(s1, s2);
            s = s1;
            s1 = s2;
            s2 = s;
        }
    f=fopen("nunta.out","w");
    for(int i=s2[0];i>0;i--)
        fprintf(f,"%d",s2[i]);
    fclose(f);
    return 0;
}