Cod sursa(job #1850866)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 18 ianuarie 2017 23:30:39
Problema Nunta Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>
#define max(a,b)(a>b?a:b)

unsigned char a1[50], a2[50], cc[50];
int n,i, t = 0;

int main() {
    freopen("nunta.in", "r", stdin);
    freopen("nunta.out", "w", stdout);
    scanf("%d", &n);
    if (n < 4) { printf("%d", n); return 0;}
    a1[0] = a1[1] = 2;
    a2[0] = 1, a2[1] = 3;

    while (n-->3) {
        for (i = 1, t = 0; i <= max(a1[0], a2[0]) || t; i++) {
            t += a1[i]+a2[i];
            cc[i] = t%10;
            //fprintf(g,"%d", (int) cc[i]);
            t /= 10;
        }
        t = cc[0] = i-1;
        for (i = 0; i <= (int)t; i++) {
            a1[i] = a2[i], a2[i] = cc[i], cc[i] = 0;
        }
        //fprintf(g,"\n");
    }
    //fprintf(g,"%d", (int) a2[0]);
    for (i = a2[0]; i >= 1; i--)
        printf("%d", (int) a2[i]);
    return 0;
}