Cod sursa(job #1483636)

Utilizator tudormaximTudor Maxim tudormaxim Data 9 septembrie 2015 17:34:47
Problema Nunta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<cstdio>
using namespace std;
int n, i,j;
int a[200], b[200], c[200];
FILE * fin = fopen("nunta.in", "r");
FILE * fout = fopen("nunta.out", "w");
void adunare(){
    int m;
    if(a[0] > b[0]){
        m = a[0];
    }
    else{
        m = b[0];
    }
    int t = 0;
    for(int i = 1; i <= m; i++){
        c[i] = a[i] + b[i] + t;
        t = c[i] / 10;
        c[i] %= 10;
    }
    if(t != 0){
        c[++m] = t;
    }
    c[0] = m;
}
int main(){
    fscanf(fin, "%d", &n);
    if(n == 1){
        fprintf(fout, "1");
        return 0;
    }
    a[0] = a[1] = b[0] = b[1] = 1;
    for(i = 1; i < n; i++){
        adunare();
        for(j = 0; j <= b[0]; j++){
            a[j] = b[j];
        }
        for(j = 0; j <= c[0]; j++){
            b[j] = c[j];
        }
    }
    for(i = c[0]; i >= 1; i--){
        fprintf(fout, "%d", c[i]);
    }
    return 0;
}