Cod sursa(job #1483348)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 9 septembrie 2015 07:54:16
Problema Nunta Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<stdio.h>
#include<string.h>
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;
    return ;
}

int main(){
    FILE *fin= fopen("nunta.in", "r");
    FILE *fout= fopen("nunta.out", "w");
    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;
}