Cod sursa(job #3225183)
Utilizator | Alexandru Haidet Hadef | Data | 17 aprilie 2024 00:04:01 |
---|---|---|---|
Problema | Al k-lea termen Fibonacci | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
#define mod 666013
using namespace std;
ifstream fin("kfib.in");
ofstream fout("kfib.out");
int A[4][4];
long long recursiv(int n)
{
int a,b,c,d;
a=A[1][1];b = A[1][2];c =A[2][1];d=A[2][2];
//cout<<n;
n=n-1;
//afisare();
A[1][1] = (b)%mod;
A[1][2] = (a + b)%mod;
A[2][1] = (d)%mod;
A[2][2] = (c+ d)%mod;
if(n ==0)
fout<<A[2][2];
else
{
recursiv(n);
}
}
int main()
{
int n;
fin>>n;
A[1][1]=0;A[1][2]=1;A[2][1] = 1;A[2][2]=1;
recursiv(n);
return 0;
}