Cod sursa(job #1466587)

Utilizator akaprosAna Kapros akapros Data 29 iulie 2015 16:09:50
Problema Nunta Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <cstdio>
#include <algorithm>
#include <cstring>
#define Nmax 212
using namespace std;
int n, i, j, a[Nmax], b[Nmax], c[Nmax];
void add(int A[], int B[])
{
    int i, t = 0;
    for (i = 1; i <= A[0] || i <= B[0] || t; ++ i)
    {
        A[i] = (A[i] + B[i] + t);
        t = A[i] / 10;
        A[i] %= 10;
    }
    A[0] = i - 1;
}
int main()
{
    freopen("nunta.in", "r", stdin);
    freopen("nunta.out", "w", stdout);
    scanf("%d", &n);
    a[++ a[0]] = 1;
    b[++ b[0]] = 1;
    for (i = 1; i <= n; ++ i)
    {
        memset(c, 0, sizeof(c));
        memcpy(c, a, sizeof(a));
        add(c, b);
        memcpy(a, b, sizeof(b));
        memcpy(b, c, sizeof(c));
    }
    for (i = a[0]; i >= 1; -- i)
        printf("%d", a[i]);
    return 0;
}