Cod sursa(job #1483635)

Utilizator tudormaximTudor Maxim tudormaxim Data 9 septembrie 2015 17:32:53
Problema Nunta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<cstdio>
#include<cstring>
using namespace std;
FILE *fin= fopen("nunta.in", "r");
FILE *fout= fopen("nunta.out", "w");
int n,i,r,nr,n1,n2,n3,j;
int a[200],b[200],c[200];

void s()
{
    r=0;
    for(j=1; j<=b[0]; j++)
    {
        nr=a[j]+b[j]+r;
        c[++c[0]]=nr%10;
        r=nr/10;
    }
    if(r!=0) c[++c[0]]=1;
}

int main()
{
    fscanf(fin, "%d" ,&n);
    if(n==1)
        {
        fprintf(fout, "1");
        return 0;
    }
    else if(n==2)
    {
        fprintf(fout, "2");
        return 0;
    }
    else
    {
        a[0]=1;
        b[0]=1;
        a[1]=1;
        b[1]=1;
        for(i=3;i<=n+1;i++)
        {
            memset(c,0,sizeof(c));
            s();
            memcpy(a,b,sizeof(b));
            memcpy(b,c,sizeof(c));
        }
        for(i=c[0]; i>=1; i--)
            fprintf(fout,"%d",c[i]);
    }
    return 0;
}