标签:hdu
题意:n个数的两两做和,然后异或
分析:
异或的性质:两个相同的数异或为0,所以Ai+Aj异或Aj+Ai等于0,所以最终结果就是Ai+Ai的异或
代码:
#include<stdio.h> long 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\n",ans); } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:hdu
原文地址:http://blog.csdn.net/ac_0_summer/article/details/47307149