Pagini recente » Cod sursa (job #3030334) | Cod sursa (job #760656) | Cod sursa (job #2291571) | Cod sursa (job #390741) | Cod sursa (job #941996)
Cod sursa(job #941996)
#include <fstream>
using namespace std;
const int mod = 666013;
long long prod[2][2];
void produs(long long a[2][2], long long b[2][2])
{
for (int i = 0; i < 2; ++i)
for (int j = 0; j < 2; ++j)
prod[i][j] = (a[i][0]*b[0][j] + a[i][1]*b[1][j]) % mod;
for (int i = 0; i < 2; ++i)
for (int j = 0; j < 2; ++j)
a[i][j] = prod[i][j];
}
int main()
{
ifstream in("kfib.in");
ofstream out("kfib.out");
int n;
in >> n;
long long a[2][2] = {{1,0},{0,1}};
long long b[2][2] = {{0,1},{1,1}};
for (int i = 0; i < 30; ++i) {
if (1<<i & n)
produs(a,b);
produs(b,b);
}
out << a[0][1];
return 0;
}