Cod sursa(job #2875669)

Utilizator indianu_talpa_iuteTisca Catalin indianu_talpa_iute Data 22 martie 2022 09:51:26
Problema Nunta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
#define MAXCIF 269

using namespace std;

ifstream fin("nunta.in");
ofstream fout("nunta.out");

typedef unsigned char nr[MAXCIF];
nr mem1, mem2, *nr1 = &mem1, *nr2 = &mem2;
void add(nr *nr1, nr *nr2) {
    unsigned char t = 0;
    if ((*nr1)[0] < (*nr2)[0])
        (*nr1)[0] = (*nr2)[0];
    for (int i = 1; i <= (*nr1)[0]; i++) {
        t += (*nr1)[i] + (*nr2)[i];
        (*nr1)[i] = t % 10;
        t /= 10;
    }
    while (t)
        (*nr1)[++(*nr1)[0]] = t % 10, t /= 10;
}

int main() {
    int n;
    fin >> n;
    (*nr2)[0] = (*nr2)[1] = 1;
    for (int i = 1; i <= n; i++) {
        add(nr1, nr2);
        swap(nr1, nr2);
    }

    for (int i = (*nr2)[0]; i >= 1; i--)
        fout << (int)(*nr2)[i];
    return 0;
}