題意:n個數的兩兩做和,然後異或
分析:
異或的性質:兩個相同的數異或為0,所以Ai+Aj異或Aj+Ai等於0,所以最終結果就是Ai+Ai的異或
代碼:
#includelong long t,n,m,z,l; long long a[1000005]; int main() { scanf(%I64d,&t); while(t--){ scanf(%I64d%I64d%I64d%I64d,&n,&m,&z,&l); a[1]=0; long long ans=0; long long i; for(i=2;i<=n;i++){ a[i]=(a[i-1]*m+z)%l; ans^=(a[i]*2); } printf(%I64d ,ans); } }