Cod sursa(job #1140267)

Utilizator iordache.bogdanIordache Ioan-Bogdan iordache.bogdan Data 11 martie 2014 21:06:52
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <cstdio>

using namespace std;

FILE *f = fopen("nunta.in","r");
FILE *g = fopen("nunta.out","w");

int a[211],b[211],c[211];

int n,i,t;

void sum(int *a, int *b, int *c) {
    if(a[0]<b[0]) {
        for(int i=a[0]+1;i<=b[0];i++)
            a[i]=0;
        a[0]=b[0];
    }
    else {
        for(int i=b[0]+1;i<=a[0];i++)
            b[i]=0;
        b[0]=a[0];
    }
    for(int i=1;i<=a[0];i++) {
        c[i]=a[i]+b[i]+t;
        t=c[i]/10;
        c[i]%=10;
    }
    if(t!=0) {
        c[0]=a[0]+1;
        c[c[0]]=t;
    }
    else
        c[0]=a[0];
}

void atrib(int *a,int *b) {
    a[0]=b[0];
    for(int i=1;i<=a[0];i++)
        a[i]=b[i];
}

int main() {
    fscanf(f,"%d",&n);
    a[0]=b[0]=1;
    a[1]=1;b[1]=2;
    for(i=1;i<n-1;i++) {
        sum(a,b,c);
        atrib(a,b);
        atrib(b,c);
    }
    for(i=c[0];i>0;i--)
        fprintf(g,"%d",c[i]);
    fprintf(g,"\n");
    return 0;
}