#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void Search(int* a, int sz, int* px, int* py)
{
int i = 0, ret = 0, pos = 0, k1 = 0, k2 = 0;
for (i = 0; i < sz; i++)
{
ret = ret ^ *(a + i);
}
for (i = 0; i < 32; i++)
{
if (ret & (1 << i))
{
pos = i;
break;
}
}
for (i = 0; i < sz; i++)
{
if (*(a + i) & (1 << pos))
{
k1 = k1 ^ *(a + i);
}
else
{
k2 = k2 ^ *(a + i);
}
}
*px = k1;
*py = k2;
}
int main()
{
int arr[] = { 2, 2, 3, 6, 57, 3, 8, 8, 57 ,24 };
int sz = sizeof(arr) / sizeof(arr[0]);
int x = 0, y = 0;
Search(arr, sz, &x, &y);
printf("x = %d, y = %d", x, y);
return 0;
}