Cod sursa(job #1450522)

Utilizator DjokValeriu Motroi Djok Data 13 iunie 2015 16:08:46
Problema Al k-lea termen Fibonacci Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<fstream>
#include<algorithm>
#include<map>
using namespace std;

const int MOD=666013; 

long long n;
map<long long,long long> Fib;

long long f(long long x) {
	if(Fib.count(x)) return Fib[x];
    return Fib[x]=(f((x+1)/2)*f(x/2)+f((x-1)/2)*f((x-2)/2))%MOD;
}

int main()
{
  ifstream cin("kfib.in");
  ofstream cout("kfib.out");

  cin>>n; Fib[0]=Fib[1]=1;
  cout<<f(n-1)<<'\n';

 return 0;
}