Cod sursa(job #2087663)

Utilizator dragos.galeteanu2001Dragos Iulian dragos.galeteanu2001 Data 13 decembrie 2017 22:12:52
Problema Nunta Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

int main()
{
    char a[209], b[209], z;
    int i, rest, j, N, aa, bb, cc;
    FILE *f=fopen("nunta.in","r");
    fscanf(f,"%d",&N);
    fclose(f);

    aa=1; a[0]='1';
    bb=1; b[0]='2';
    for (i=3; i<=N; i++)
    { rest=0;

    if (bb>aa)
    { for (j=aa; j<bb; ) a[j++]='0';
      aa=bb; }

    for (j=0; j<aa; j++)
    { z=((a[j]-'0')+(b[j]-'0')+rest)%10+'0';
    rest=((a[j]-'0')+(b[j]-'0')+rest)/10;
    a[j]=z; }

    if (rest) { a[j]=rest+'0'; aa++; }

    for (j=0; j<bb; j++) z=b[j]; cc=bb;
    for (j=0; j<aa; j++) b[j]=a[j]; bb=aa;
    for (j=0; j<cc; j++) a[j]=z; aa=cc; }

    f=fopen("nunta.out","w");
    for (i=bb-1; i>=0; i--) fputc(b[i],f);
    fclose(f);
    return 0;
}