Pagini recente » Cod sursa (job #560824) | Cod sursa (job #759375) | Cod sursa (job #1045888) | Cod sursa (job #1393200) | Cod sursa (job #1303826)
#include <fstream>
using namespace std;
ifstream fin("kfib.in");
ofstream fout("kfib.out");
int d[3][3],p[3][3],n;
void m(int x[3][3],int y[3][3])
{
int i,cop[3][3],k,j;
for(i=1;i<=2;i++)
{
for(j=1;j<=2;j++)
for(k=1,cop[i][j]=0;k<=2;k++)
cop[i][j]+= (long long)( (long long)x[i][k]*y[k][j])%666013;
}
for(i=1;i<=2;i++)for(j=1;j<=2;j++)x[i][j]=cop[i][j] %666013;
}
// spatiu //
void functie(int x)
{
for(;x>0;x=x/2)
{
if(x%2==1)m(d,p);
m(p,p);
}
}
int main()
{
fin>>n;
d[1][1]=1;
d[1][2]=0;
d[2][1]=0;
d[2][2]=1;
// spatiu //
p[1][1]=0;
p[1][2]=1;
p[2][1]=1;
p[2][2]=1;
functie(n-1);
fout<<d[2][2];
return 0;
}