Cod sursa(job #1483634)

Utilizator tudormaximTudor Maxim tudormaxim Data 9 septembrie 2015 17:29:12
Problema Nunta Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<cstdio>
using namespace std;
int n, i,j;
int a[200], b[200], c[200];

void adunare()
{
    int m, t=0;
    if(a[0] > b[0]) m = a[0];
    else m = b[0];
    for(int i = 1; i <= m; i++)
    {
        c[i] = a[i] + b[i] + t;
        t = c[i] / 10;
        c[i] %= 10;
    }
    if(t != 0) c[++m] = t;
    c[0] = m;
}
int main()
{
    freopen("nunta.in", "r", stdin);
    freopen("nunta.out", "w", stdout);
    scanf("%d", &n);
    if(n == 1)
    {
        printf("1");
        return 0;
    }
    a[0] = a[1] = b[0] = b[1] = 1;
    for(i = 1; i < n; i++)
    {
        adunare();
        for(j = 0; j <= b[0]; j++) a[j] = b[j];
        for(j = 0; j <= c[0]; j++) b[j] = c[j];
    }
    for(i = c[0]; i >= 1; i--)
        printf("%d", c[i]);
    return 0;
}