【C语言】【笔试题】找出一组数据中成单出现的数字,其他所有数字都是成对出现的。(移位)

原创 2016年05月30日 15:02:06
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i = 0;
	int num= 0;
	int arr[7];
	for (; i < 7; i++)
	{
		scanf("%d", &arr[i]);
	}
	num = arr[0];
	for (i = 1; i < 7; i++)
	{
		num = num^arr[i];//a异或b之后再异或b,结果是a等同于(a^b)^b=a,同样,(a^b)^a=b,因为a^a(自身异或自身)就等于0000....0000,再异或别的数,就只剩下再次异或的数了.
	}
	printf("%d\n", num);
	system("pause");
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

一组数据中只有一个数字出现了一次。 其他所有数字都是成对出现的。 请找出这个数字。 (使用位运算) 如: 数据:1 3 5 7 1 3 5 8 这组数据中, 只有7出现了一次。 则找出数字7

方法一: 算法思想:相当于遍历数组,所有的元素异或了一遍,而相同的两个数会抵消成0,而任意数和0异或为该数本身,所以那个单一的必定会被留下来 注意: (1)异或的特点:两个相同的数字异或必为0;0和...

序列中,除了2个数字只出现一次外,其他数字成对出现。找出落单的2个数。

本题是上一题的续篇,扩展篇。 想把这一问题先转化为上一个问题,然后解决掉。于是需要将序列分成2类,正好把两个落单的数划分到两个类中去。 1,位运算的优先级真是搞不清楚。以后遇上^&|>,这样的运算外都...

微策略2011校园招聘笔试题(找出数组中两个只出现一次的数字)

1、8*8的棋盘上面放着64个不同价值的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于0),一个人初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下...

整型数组里只出现一次的数字--[c语言笔试题]

找出数组内只出现一次的数字,是一系列的笔试题,来考察大家对位运算的掌握,下面我们从最简单的开始来看看吧! 一、题目:一个整型数组里只有一个数字出现了一次,其余数字都出现了两次,请写程序找出出现了一次的...
  • XHfight
  • XHfight
  • 2016年06月19日 15:00
  • 970

《剑指Offer》面试题:找出数组中有3个出现一次的数字

题目 一个int数组中有三个数字a、b、c只出现一次,其他数字都出现了两次。请找出三个只出现一次的数字。 思路 由于3个数字出现一次,其他数字均出现两次,因此可以得到n一定为奇数。 3个只出现...

乐视面试题一个数组,找出数组中没有出现的最小的一个数字,比如[1,2,0],返回3,[1,2,4,5]返回3

From: http://www.cnblogs.com/baiyanhuang/archive/2011/02/10/1950443.html 这是在TL讨论中Liu xinyu给出的一个...

程序员面试题精选100题(34)-找出数组中两个只出现一次的数字

http://zhedahht.blog.163.com/blog/static/2541117420071128950682/ 题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次...
  • ZCSYLJ
  • ZCSYLJ
  • 2011年09月29日 11:40
  • 319

面试题29:找出数组中出现次数超过一半的数字-基于partition函数以及分摊法

#include using namespace std; int partition( int a[], int low, int high ) { if( low >= high ) ...

google笔试题:写出这样一个函数 ,输入一个 n, 输出从1到这个数字之间的出现的1的个数

这道题是传说中GOOGLE的笔试题目之一。

谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。

谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。 Google2009华南...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【C语言】【笔试题】找出一组数据中成单出现的数字,其他所有数字都是成对出现的。(移位)
举报原因:
原因补充:

(最多只允许输入30个字)