Pagini recente » Cod sursa (job #1106024) | Cod sursa (job #2535959) | Cod sursa (job #188128) | Cod sursa (job #2543577) | Cod sursa (job #3309329)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("kfib.in");
ofstream fout("kfib.out");
const int MOD=666013;
int ans[2][2], a[2][2], n;
void multiplication(int a[2][2], int b[2][2]){
int c[2][2]={};
for(int i=0;i<=1;i++){
for(int j=0;j<=1;j++){
for(int k=0;k<=1;k++){
c[i][j]=(c[i][j]+(a[i][k]*b[k][j])%MOD)%MOD;
}
}
}
for(int i=0;i<=1;i++){
for(int j=0;j<=1;j++){
a[i][j]=c[i][j];
}
}
}
void fast_exp(int putere){
while(putere){
if(putere%2==1){
multiplication(ans, a);
}
multiplication(a,a);
putere/=2;
}
}
int main(){
fin>>n;
a[0][0]=0;
a[0][1]=a[1][0]=a[1][1]=1;
ans[1][0]=ans[1][1]=0;
ans[0][0]=0;
ans[0][1]=1;
fast_exp(n);
fout<<ans[0][0];
}