Cod sursa(job #2023749)

Utilizator andreicoman299Coman Andrei andreicoman299 Data 19 septembrie 2017 14:01:04
Problema Nunta Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <stdio.h>
#define MAXC 210
char F1[MAXC], F2[MAXC];
int main(){
    FILE*fi,*fo;
    fi=fopen("nunta.in","r");
    fo=fopen("nunta.out","w");
    int n;
    fscanf(fi,"%d", &n);
    if(n == 1){
        fprintf(fo,"1");
        return 0;
    }
    F1[0] = 1;
    F1[1] = 1;
    F2[0] = 1;
    F2[1] = 2;
    int ind = 2;
    for(int j = 3; j <= n; j++){
        if(ind == 2){
            int i, t = 0;
            for(i = 1; i <= F1[0] || i <= F2[0] || t; i++, t/=10)
                F1[i] = (t += F1[i] + F2[i]) % 10;
            F1[0] = i - 1;
        }
        else{
            int i, t = 0;
            for(i = 1; i <= F1[0] || i <= F2[0] || t; i++, t/=10)
                F2[i] = (t += F1[i] + F2[i]) % 10;
            F2[0] = i - 1;
        }
        ind = 3 - ind;
    }

    if(ind == 2)
        for(int i = F2[0]; i > 0; i--)
            fprintf(fo,"%d", F2[i]);
    else
        for(int i = F1[0]; i > 0; i--)
            fprintf(fo,"%d", F1[i]);
    return 0;
}