Pagini recente » Cod sursa (job #1562496) | Cod sursa (job #726357) | Cod sursa (job #1595113) | Cod sursa (job #2135209) | Cod sursa (job #1678702)
#include<fstream>
#define f first
#define s second
using namespace std;
int a, b, x, y, z, n, nr, i, nr1, m;
pair<int, int> frst, p, q;
ifstream fin("rsir.in");
ofstream fout("rsir.out");
pair<int, int> next(pair<int, int> p){
pair<int, int> pnext;
pnext.f = p.s;
pnext.s = (a * p.f % m * p.f % m + b * p.s % m * p.s % m + x * p.f % m + y * p.s % m + z) % m;
return pnext;
}
int main(){
fin>> frst.f >> frst.s >> a >> b >> x >> y >> z >> m >> n;
frst.f %= m;
frst.s %= m;
a %=m;
b %= m;
x %= m;
y %= m;
z %= m;
p = q = frst;
do{
p = next(p);
q = next( next(q) );
}while(p != q);
do{
nr++;
p = next(p);
}while(p != q);
p = q = frst;
for(i = 1; i <= nr; i++){
p = next(p);
}
while(p != q){
nr1++;
p = next(p);
q = next(q);
}
if(n < nr1){
p = frst;
for(i = 1; i <= n; i++){
p = next(p);
}
fout<< p.f <<"\n";
}
else{
p = frst;
for(i = 1; i <= nr1; i++){
p = next(p);
}
n -= nr1;
for(i = 1; i <= n % nr; i++){
p = next(p);
}
fout<< p.f <<"\n";
}
return 0;
}