Cod sursa(job #3240016)

Utilizator bogdan1479Luca Bogdan Alexandru bogdan1479 Data 12 august 2024 02:16:56
Problema Nunta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <vector>

using namespace std;

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

int n;
vector<int> A, B, aux;

void afisare()
{
    for(auto it = B.crbegin(); it != B.crend(); it++)
        fout << *it;
}

void adunare()
{
    int T = 0;
    for(auto it = B.begin(), it2 = aux.begin(); it != B.end(); ++it)
    {
        T += *it + *it2;
        *it = T % 10;
        T /= 10;
        if(it2 + 1 == aux.end())
            *it2 = 0;
        else
            ++it2;
    }
    if(T)
        B.push_back(1);
}

void genFibo()
{
    A.push_back(1);
    B.push_back(2);
    if(n < 3)
    {
        fout << n;
        return;
    }
    for(int i = 3; i <= n; i++)
    {
        aux = A;
        A = B;
        adunare();
    }
    afisare();
}

int main()
{
    fin >> n;
    genFibo();
    return 0;
}