Cod sursa(job #2062190)

Utilizator FipNadCeara Filip FipNad Data 10 noiembrie 2017 07:34:08
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
#define maxim 999

using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");

int a[maxim],b[maxim],c[maxim];

void fib(){
    int i,ordin;
    for(i=0;i<maxim;i++)c[i]=a[i]+b[i];
    for(i=maxim-1;i>0;i--){
        if(c[i]>9){
            ordin=c[i];
            c[i]%=10;
            c[i-1]+=(ordin/10);
        }
    }
}

int main()
{
    int N,x=0,i,j;
    for(i=0;i<maxim;i++)a[i]=b[i]=c[i]=0;
    a[maxim-1]=1;b[maxim-1]=2;
    f>>N;
    if(N<=2)g<<N;
    else{
    for(i=0;i<N;i++){
            fib();
        if(i==N-3)break;
        for(j=0;j<999;j++)a[j]=b[j];
        for(j=0;j<999;j++)b[j]=c[j];

    }
    for(i=0;i<999;i++){
            if(x||c[i]){
                x=1;
                g<<c[i];
            }
    }
    }



    f.close();
    g.close();
    return 0;
}