Cod sursa(job #1943355)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 28 martie 2017 15:31:10
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>
#define MOD 666013
using namespace std;
ifstream fin("nunta.in");
ofstream fout("nunta.out");

void adunare(char a[], char b[], char c[]) {
    int i, m;
    if (a[0] > b[0]) {
        for (i=b[0]+1;i<=a[0];i++)
            b[i] = 0;
        m = a[0];
    } else {
        for (i=a[0]+1;i<=b[0];i++)
            a[i] = 0;
        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;
    }
    c[0] = m;
    if (t) {
        c[++c[0]] = t;
    }
}

void copiere(char a[], char b[]) {
    for (int i=0;i<=b[0];i++)
        a[i] = b[i];
}

int n, i;
char a[300], b[300], c[300];

int main() {
    fin>>n;
    a[1] = a[0] = b[1] = b[0] = 1;
    b[1] = 2;
    if (n <= 2) {
        fout<<n;
        return 0;
    }

    for (i=3; i<=n; i++) {
        adunare(a, b, c);
        copiere(a, b);
        copiere(b, c);
    }

    for (i=c[0]; i>=1;  i--)
        fout<<(int)c[i];

    return 0;
}