Cod sursa(job #1485642)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 12 septembrie 2015 16:22:44
Problema Nunta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
//#include <fstream>
#include <cstdio>
#include <cstring>
using namespace std;

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

int N, M, i, j, K, ok, minim, z, t;

int a, b, c, n;
int A[200], B[200], C[200];

void Sum(){
    t = 0;
    for(int i = 1; i <= B[0]; i ++){
        int z = (A[i] + B[i] + t);
        C[++C[0]] = z % 10;
        t = z / 10;
    }
    if(t != 0)
        C[++C[0]] = t;
    return;
}

void CodeExpert(){
    //fin >> n;
    fscanf(fin, "%d", &n);
    if(n < 2){
        fprintf(fout, "1");
        return;
    }
    else
    if(n == 2){
        fprintf(fout, "2");
        return;
    }
    else{
        A[0] = B[0] = A[1] = B[1] = 1;
        for(i = 3; i <= n + 1; i ++){
            memset(C, 0, sizeof(C));
            Sum();
            memcpy(A, B, sizeof(B));
            memcpy(B, C, sizeof(C));
        }
        for(i = C[0]; i >= 1; i --)
            fprintf(fout, "%d", C[i]);
        return;
    }
    return;
}

int main(){
    CodeExpert();
    return 0;
}