#include<stdio.h>
void Find_data(int *arr, int len, int *data1, int *data2)
{
unsigned int ret = 0;
int i = 0;
int tmp = 1;
for (i = 0; i < len; i++)
{
ret ^= arr[i];
}
while (1)
{
if ((ret&tmp) != 0)
{
break;
}
tmp <<= 1;
}
*data1 = *data2 = 0;
for (i = 0; i < len; i++)
{
if (arr[i] & tmp)
{
*data1 ^= arr[i];
}
else
{
*data2 ^= arr[i];
}
}
}
int main()
{
int arr[] = { 1, 2, 4, 1, 2, 6 };
int len = sizeof(arr) / sizeof(arr[0]);
int data1, data2;
Find_data(arr, len, &data1, &data2);
printf("%d %d", data1, data2);
system("pause");
return 0;
}