Pagini recente » Cod sursa (job #464824) | Cod sursa (job #1734151) | Cod sursa (job #554266) | Cod sursa (job #299003) | Cod sursa (job #2817035)
#include<fstream>
#include<iostream>
using namespace std;
long long n,m00,m01,m10,m11,s00,s01,s10,s11,i,p=666013,a,b,c,d;
int main()
{
ifstream f("kfib.in");
ofstream g("kfib.out");
f>>n;
m00=0;
m01=m10=m11=1;
s00=s11=0;
s01=s10=1;
for(i=0;(1<<i)<=n;i++)
{
if((1<<i)&n)
{
a=(s00*m00%p+s01*m10%p)%p;
b=(s00*m01%p+s01*m11%p)%p;
c=(s10*m00%p+s11*m10%p)%p;
d=(s10*m01%p+s11*m11%p)%p;
s00=a;
s01=b;
s10=c;
s11=d;
}
a=(m00*m00%p+m01*m10%p)%p;
b=(m00*m01%p+m01*m11%p)%p;
c=(m10*m00%p+m11*m10%p)%p;
d=(m10*m01%p+m11*m11%p)%p;
m00=a;
m01=b;
m10=c;
m11=d;
}
g<<s11;
f.close();
g.close();
return 0;
}