Cod sursa(job #1827677)

Utilizator tanasaradutanasaradu tanasaradu Data 12 decembrie 2016 08:39:32
Problema Al k-lea termen Fibonacci Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>
#define modulo  666013
#define nmax 1400000
using namespace std;
ifstream fin("kfib.in");
ofstream fout("kfib.out");
int a[nmax+5],n;
int main()
{
    int k;
    bool gata;
    gata=false;
    fin>>n;
    a[0]=0;
    a[1]=a[2]=1;
    k=2;
    while(!gata)
    {
        k++;
        a[k]=a[k-1]+a[k-2];
        if(a[k]>=modulo)
            a[k]-=modulo;
        if(a[k]==1 && a[k-1]==0)
            gata=true;
    }
    k--;
    fout<<a[n%k]<<"\n";
    fin.close();
    fout.close();
    return 0;
}