Cod sursa(job #247718)

Utilizator mihaipoascaPoasca Mihai mihaipoasca Data 23 ianuarie 2009 20:26:25
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>

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

int N;
struct {int c[500];}A,B,C;

void add(){
    int i,t=0;
    for(i=1;i<=A.c[0] || i<=B.c[0] || t;i++,t/=10)
        A.c[i]=(t+=A.c[i]+B.c[i])%10;
    A.c[0]=i-1;

}

int main(){
    fscanf(fin,"%d",&N);
    A.c[0]=A.c[1]=1;
    B.c[0]=1;B.c[1]=2;
    if(N==1)
        fprintf(fout,"1\n");
    else
    if(N==2)
        fprintf(fout,"2\n");
    else{
        for(int i=3;i<=N;i++){
            add();
            C=B;B=A;A=C;
        }
        for(int i=B.c[0];i;i--)
            fprintf(fout,"%d",B.c[i]);
        fprintf(fout,"\n");
    }
    fclose(fin);
    fclose(fout);
    return 0;


}