博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

寻找丢失的数字

Posted on 2011-08-11 23:02  ChessYoung  阅读(267)  评论(0编辑  收藏  举报
//从一堆的数字中找到丢失的一个数字,前提是这些数字除了丢失的那一个之外其他
//是成偶数个数出现的,方法采用异或

#include "stdafx.h"
#include <iostream>
using namespace std;

int XorF(int a[], int len);

int _tmain(int argc, _TCHAR* argv[])
{
	int a[] = {3,3,5,3,3,5,5,5,4,1,4,1,6,7,6,7,9,11,9,11,4,4,4};
	int Z = XorF(a, sizeof(a)/sizeof(int));

	cout << Z << endl;

	return 0;
}

int XorF( int a[], int len )
{
	int tmp = a[0]^a[1];
	for (int i = 2; i< len; ++i)
	{
		tmp = tmp ^a[i];
	}

	return tmp;
}