Cod sursa(job #2298279)

Utilizator Tibi55Ionescu Tiberiu Tibi55 Data 7 decembrie 2018 21:51:21
Problema Nunta Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
int a[10003],b[10003];
void adunare(int a[], int b[])
{
    int t = 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;

}
void scadere(int a[], int b[])
{
    int t = 0;
    for(int i = 1; i <= a[0]; i++)
    {
        b[i] = a[i] - b[i] + t;
        if(b[i] < 0)
        {
            b[i] += 10;
            t = 1;
        }
        else
            t = 0;
    }
    while(b[0] > 1 && b[b[0]] == 0)
        b[0]--;
}
int main()
{
    int n,i;
    f>>n;
    a[0]=1;
    a[1]=2;
    b[0]=1;
    b[1]=1;
    if(n==1)
        g<<1;
    else if(n==2)
        g<<2;
    else
    {
        for(i=3;i<=n;i++)
        {
            adunare(a,b);
            scadere(a,b);
        }
        for(i=a[0];i>=1;i--)
            g<<a[i];
    }
    return 0;
}