Cod sursa(job #1483316)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 9 septembrie 2015 06:42:07
Problema Nunta Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
#include<string.h>
int a[211],b[211],c[211],n,m,t,i,j;
int main(){
    freopen("nunta.in","r",stdin),freopen("nunta.out","w",stdout),scanf("%d",&n),n++;
    if(n<=2){
        printf("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--){
         printf("%d",c[i]);
    }
    return 0;
}