Cod sursa(job #1815441)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 25 noiembrie 2016 11:25:41
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <bits/stdc++.h>

FILE *fin = fopen("nunta.in", "r");
FILE *fout = fopen("nunta.out", "w");

short int n, i;
short int A[200], B[200];

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

int main(){
    fscanf(fin, "%hd", &n);
    if(n == 1){
        fprintf(fout, "1");
    } else {
        A[0] = B[0] = A[1] = B[1] = 1;
        for(i = 1; i < n; i++){
            if(i % 2 == 1){
                sum(A, B);
            } else {
                sum(B, A);
            }
        }
        if((n - 1) % 2 == 1){
            for(i = A[0]; i > 0; i--){
                fprintf(fout, "%hd", A[i]);
            }
        } else {
            for(i = B[0]; i > 0; i--){
                fprintf(fout, "%hd", B[i]);
            }
        }
    }
    return 0;
}