Pagini recente » Cod sursa (job #1231258) | Cod sursa (job #1527495) | Cod sursa (job #2586339) | Cod sursa (job #1331063) | Cod sursa (job #1240658)
#include <cstdio>
using namespace std;
int main()
{
long long T0,T1,n,T2,T3,T4,a,b,x,y,z,m;
int pas;
freopen ("rsir.in","r",stdin);
freopen ("rsir.out","w",stdout);
scanf("%lld%lld%lld%lld%lld%lld%lld%lld%lld", &T0,&T1,&a,&b,&x,&y,&z,&m,&n);
T2=T1;
T3 =( a * (T0*T0) + b * (T1*T1) + x * T0 + y * T1 + z )%m;
for(pas=3;!(T2==T0 && T3==T1);++pas)
{
T4 = (a * (T2*T2) + b * (T3*T3) + x * T2 + y * T3 + z)%m;
T2=T3; T3=T4;
}
n%=(pas-1);
T2=T1;
T3 = (a * (T0*T0) + b * (T1*T1) + x * T0 + y * T1 + z)%m;
for(pas=3;pas<=n;++pas)
{
T4 = (a * (T2*T2) +b * (T3*T3) + x * T2 + y * T3 + z)%m;
T2=T3; T3=T4;
}
printf("%lld\n", T3);
return 0;
}