Cod sursa(job #1661943)

Utilizator mihai.constantinConstantin Mihai mihai.constantin Data 24 martie 2016 12:43:27
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int length = 215;

short a[length];
short b[length];

short s[length];

int N;

void suma()
{
    int i, aux, t = 0;

    for(i = 1; i <= a[0] || i <= b[0] || t != 0; i++)
    {
        aux = a[i] + b[i] + t;

        s[i] = aux % 10;

        t = aux / 10;
    }

    s[0] = i - 1;
}

void update()
{
    int i;

    // a DEVINE b

    a[0] = b[0];

    for(i = 1; i <= b[0]; i++) a[i] = b[i];

    // b DEVINE s

    b[0] = s[0];

    for(i = 1; i <= s[0]; i++) b[i] = s[i];
}

int main()
{
    int i;

    in >> N;

    a[0] = b[0] = 1;

    a[1] = 1;
    b[1] = 2;

    for(i = 3; i <= N; i++)
    {
        suma();

        update();
    }

    for(i = s[0]; i >= 1; i--) out << s[i];

    return 0;
}