#include<stdio.h>
#include<stdlib.h>
int Isone(int ret)  
{
	int pos=1;
	while((ret&0x01)==0)
	{
		ret=ret>>1;
		pos++;
	}
	return pos;
}
bool test(int value,int pos)
{
	return (value>>(pos-1))&0x01;
}
void find(int* a,int n,int* num1,int* num2)
{
	int ret=0;
	for(int i=0;i<n;i++)
	{
		ret=ret^a[i];
	}
	int pos=Isone(ret);
	for(int i=0;i<n;i++)
	{
	 if(test(a[i],pos))
	 {
		 *num1^=a[i];
	 }
	 else
	 {
		 *num2^=a[i];
	 }
	}
}
int main()
{
	int a[10]={1,4,5,3,6,2,1,5,3,2};
	int num1=0;
	int num2=0;
	find(a,10,&num1,&num2);
	printf("num1:%d,num2:%d\n",num1,num2);
	system("pause");
	return 0;
}