Cod sursa(job #3185738)

Utilizator stefan_dore_Stefan Dore stefan_dore_ Data 20 decembrie 2023 09:19:44
Problema Nunta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;

const int NMAX = 215,
          BAZA = 10;

ifstream f ("nunta.in");
ofstream g ("nunta.out");

int n;
int F1[NMAX] = {1, 1},
              F2[NMAX] = {1, 2},
              *M1 = F1, *M2 = F2;

void sum(int A[], int B[]) {
    int T = 0;
    if (A[0] < B[0])
        A[0] = B[0];
    for(int i=1; i<=A[0]; i++) {
        T += A[i] + B[i];
        A[i] = T % 10;
        T /= 10;
    }
    if (T > 0)
        A[++A[0]] = 1;
}

int main()
{
    f >> n;
    if (n <= 2)
        M2[1] = n;
    else {
        for (int i= 3; i<=n; i++) {
            sum(M1, M2);
            swap(M1, M2);
        }
    }
    for (int i=M2[0]; i>=1; i--)
        g << M2[i];
    return 0;
}