Cod sursa(job #1814774)

Utilizator raulmuresanRaul Muresan raulmuresan Data 24 noiembrie 2016 15:38:37
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <cstdio>
using namespace std;

FILE *f = fopen("nunta.in", "r");
FILE *g = fopen("nunta.out", "w");

char a[210], b[210];
short n, nra, nrb, j, k, i, temp, digit;

int main() {
    fscanf(f, "%hd", &n);
    if (n == 1) {
        fprintf(g, "1");
        return 0;
    }
    if (n == 2) {
        fprintf(g, "2");
        return 0;
    }
    if (n == 3) {
        fprintf(g, "3");
        return 0;
    }
    a[0] = 2;
    b[0] = 3;
    nra = 0, nrb = 0;
    for (j = 4; j <= n; j++) {
        k = 0;
        for (i = 0; i <= nra || i <= nrb || k != 0; i++) {
            temp = a[i];
            a[i] = b[i];
            digit = temp + k + b[i];
            b[i] = (temp + k + b[i]) % 10;
            k = digit / 10;
        }
        nra = nrb;
        nrb = i - 1;
    }
    for (i = nrb; i >= 0; i--)
        fprintf(g, "%c", b[i] + '0');
    return 0;
}