位用算,相同的数作位用算,结果为0/*举例*/ int selelct(int* x, int n) { int r = 0, i; for (i=0; i<n; ++i) { r ^= x[i]; } return r; }int main() { int a[] = {1,2,3,4,5,6,7}; int b[] = {1,2,3,4,5,7}; printf("the diff of a and b is %d\n",selelct(a, sizeof(a)/sizeof(int)) ^ selelct(b, sizeof(b)/sizeof(int))); return 0; }
10000个数的和减去9999个数的和,得到的就是想要求的数!
我看行
int selelct(int* x, int n)
{
int r = 0, i;
for (i=0; i<n; ++i)
{
r ^= x[i];
}
return r;
}int main()
{
int a[] = {1,2,3,4,5,6,7};
int b[] = {1,2,3,4,5,7};
printf("the diff of a and b is %d\n",selelct(a, sizeof(a)/sizeof(int)) ^ selelct(b, sizeof(b)/sizeof(int)));
return 0;
}