Cod sursa(job #1792719)

Utilizator calin9819Costea Calin calin9819 Data 30 octombrie 2016 17:03:01
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
using namespace std;

short int s1[301], s2[301];

inline void add (short int A[], short int B[]) {
    int i, t = 0;
    for (i = 1; i <= A[0] || i <= B[0] || t; i++, t /= 10)
        A[i] = (t += A[i] + B[i]) % 10;
    A[0] = i - 1;
}

int main() {
    int N;
    freopen ("nunta.in", "r", stdin);
    freopen ("nunta.out", "w", stdout);
    scanf ("%d", &N);
    s1[0] = 1;
    s1[1] = 1;
    s2[0] = 1;
    s2[1] = 2;

    for (int i = 3; i <= N; i++)
        if (i % 2 == 1)
            add (s1, s2);
        else add (s2, s1);
    if (N % 2 == 1)
        for (int i = s1[0]; i >= 1; i--)
            fputc (s1[i] + '0', stdout);
    else
        for (int i = s2[0]; i >= 1; i--)
            fputc (s2[i] + '0', stdout);


return 0;
}