Cod sursa(job #1483315)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 9 septembrie 2015 06:40:30
Problema Nunta Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<stdio.h>
#include<string.h>
FILE * fin=fopen("nunta.in","r");
FILE * fout=fopen("nunta.out","w");
int a[211],b[211],c[211];
int n,m,t,i,j;
int main(){
    //fin>>n;
    fscanf(fin,"%d",&n);
    n++;
    if(n<=2){
        fprintf(fout,"%d",1);
        return 0;
    }
    a[0]=a[1]=1;
    b[0]=b[1]=1;
    for(i=3;i<=n;i++){
        memset(c,0,sizeof(c));
        m=a[0];
        if(m<b[0]){
            m=b[0];
        }
        c[0]=m;
        t=0;
        for(j=1;j<=m;j++){
            c[j]=a[j]+b[j]+t;
            t=c[j]/10;
            c[j]%=10;
        }
        if(t){
            c[++c[0]]=t;
            t=0;
        }
        memcpy(a,b,sizeof(b));
        memcpy(b,c,sizeof(c));
    }
    for(i=c[0];i>=1;i--){
         fprintf(fout,"%d",c[i]);
    }
    return 0;
}