Cod sursa(job #1393873)

Utilizator ZeBuGgErCasapu Andreas ZeBuGgEr Data 19 martie 2015 20:14:28
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<cstdio>

int a[200],b[200],c[200],n;

void sum()
{
    for(int i=1;i<=c[0];i++)
    {
        c[i]+=a[i]+b[i];
        c[i+1]+=c[i]/10;
        c[i]%=10;
    }
    if(c[c[0]+1]!=0)
    {
        c[0]++;
    }
}

void reset()
{
    a[0]=b[0];
    b[0]=c[0];
    for(int i=1;i<=a[0];i++)
    {
        a[i]=b[i];
    }
    for(int i=1;i<=b[0];i++)
    {
        b[i]=c[i];
        c[i]=0;
    }
}

int main()
{
    FILE *fin,*fout;
    fin=fopen("nunta.in","r");
    fout=fopen("nunta.out","w");

    a[0]=1;
    a[1]=1;
    b[0]=1;
    b[1]=2;
    c[0]=1;
    fscanf(fin,"%d",&n);
    if(n==1)
    {
        fprintf(fout,"1");
    }
    else if(n==2)
    {
        fprintf(fout,"2");
    }
    else
    {
        //fprintf(fout,"%d\n",n);
        for(int i=3;i<=n;i++)
        {
            sum();
            reset();
        }
        for(int i=b[0];i>0;i--)
        {
            fprintf(fout,"%d",b[i]);
        }
    }
}