Pagini recente » Cod sursa (job #2216642) | Cod sursa (job #1528517) | Cod sursa (job #3163772) | Cod sursa (job #1494956) | Cod sursa (job #1952415)
#include <cstdio>
#define MOD 666013
using namespace std;
int a[3][3],rez[3][3],aux[3][3];
void inm(int a[3][3],int b[3][3])
{
int i,j,k;
for(i=1;i<=2;i++)
for(j=1;j<=2;j++)
{
aux[i][j]=0;
for(k=1;k<=2;k++)
aux[i][j]+=((long long)a[i][k]*(long long)b[k][j])%MOD;
}
for(i=1;i<=2;i++)
for(j=1;j<=2;j++)
a[i][j]=aux[i][j]%MOD;
}
int main()
{
freopen("kfib.in","r",stdin);
freopen("kfib.out","w",stdout);
int n;
scanf("%d",&n);
a[1][2]=a[2][1]=a[2][2]=1;
rez[1][1]=rez[2][2]=1;
while(n>0)
if(n%2==0)
{
n/=2;
inm(a,a);
}
else
{
n--;
inm(rez,a);
}
printf("%d",rez[1][2]);
return 0;
}