Pagini recente » Cod sursa (job #1510163) | Cod sursa (job #3244017) | Cod sursa (job #710824) | Cod sursa (job #1217024) | Cod sursa (job #1519274)
# include <cstdio>
# define MOD 666013
using namespace std;
int n;
int C[2][2]={{0,1},{1,1}};
int F[2][2]={{0,1},{0,0}};
int Cn[2][2]={{1,0},{0,1}};
void inmultire(int a[][2], int b[][2])
{
int c[2][2];
for(int i=0; i<2; ++i)
for(int j=0; j<2; ++j)
{
c[i][j]=0;
for(int k=0; k<2; ++k)
c[i][j]=(c[i][j]+ (long long) a[i][k]*b[k][j])%MOD;
}
for(int i=0; i<2; ++i)
for(int j=0; j<2; ++j)
a[i][j]=c[i][j];
}
void putere()
{
while(n)
{
if(n%2==1) {n--; inmultire(Cn,C);}
else {n/=2; inmultire(C,C);}
}
}
int main()
{
freopen("kfib.in", "r", stdin);
freopen("kfib.out", "w", stdout);
scanf("%d\n", &n);
putere();
inmultire(F,Cn);
printf("%d\n", F[0][0]);
}