Pagini recente » Cod sursa (job #2045534) | Cod sursa (job #752382) | Cod sursa (job #3137281) | Cod sursa (job #412434) | Cod sursa (job #1644274)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rsir.in");
ofstream fout("rsir.out");
int main()
{
int t0, t1, a, b, x, y, z, m, n, ix, iy, i, iz;
fin >> t0 >> t1 >> a >> b >> x >> y >> z >> m >> n;
t0 %= m;
t1 %= m;
ix = t0;
iy = t1;
for(i = 2 ; ; i++)
{
// cout << ix << " " << iy << "\n";
iz = (1ll * a * ix * ix + 1ll * b * iy * iy + 1ll * x * ix + 1ll * y * iy + 1ll * z) % m;
ix = iy;
iy = iz;
if(ix == t0 && iy == t1)
break;
}
i--;
n %= i;
if(n == 0)
{
fout << t0 << "\n";
}
else if(n == 1)
{
fout << t1 << '\n';
}
else
{
ix = t0;
iy = t1;
for(i = 2 ; i <= n ; i++)
{
iz = (1ll * a * ix * ix + 1ll * b * iy * iy + 1ll * x * ix + 1ll * y * iy + 1ll * z) % m;
ix = iy;
iy = iz;
}
fout << iz << "\n";
}
}