Cod sursa(job #2087659)

Utilizator dragos.galeteanu2001Dragos Iulian dragos.galeteanu2001 Data 13 decembrie 2017 22:08:43
Problema Nunta Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>

void large_nr_sum(short unsigned a[210], short unsigned b[210])
{
    short unsigned j, rest=0;

    if (b[0]>a[0])
    { for (j=a[0]+1; j<=b[0]; ) a[j++]=0;
      a[0]=b[0]; }

    for (j=1;j<=a[0];j++)
    { a[j]+=b[j]+rest;
      rest=a[j]/10;
      a[j]%=10; }

    if (rest) a[++a[0]]=rest;
}

int main()
{
    FILE *f=fopen("nunta.in","r");
    short unsigned a[210], b[210], c[210], i, j, N;
    fscanf(f,"%d",&N);
    fclose(f);

    a[0]=1; a[1]=1;
    b[0]=1; b[1]=2;

    for (i=3; i<=N; i++)
    { large_nr_sum(a,b);
    for (j=0; j<=b[0]; j++) c[j]=b[j];
    for (j=0; j<=a[0]; j++) b[j]=a[j];
    for (j=0; j<=c[0]; j++) a[j]=c[j]; }

    f=fopen("nunta.out","w");
    for (i=b[0]; i>0; i--) fprintf(f,"%d",b[i]);
    fclose(f);
    return 0;
}