*孤独的数*

简介: *孤独的数*

题目描述

在一组数中, 仅有一个数字出现1次,其它数字都出现2次。只出现一次的数称为孤独的数字,你的任务是找出孤独的数字。

输入格式

输入数据有多组, 每组数据以一个整数n(n≤100)开始,后面有n个整数(所有整数≤100)。

输出格式

对每组测试数据, 输出n个整数中孤独的数字,每个输出占一行。

示例输入5 2 3 3 2 4        示例输出:4

在这里讲一种新颖的方法

^ 操作符对数据的二进制位进行运算的一个操作        

1. // ^按位异或 是这样运算的
2. //011    十进制的3
3. //011    十进制的3
4. //根据二进制位上的数相同得0,不同的1的计算方法,可得3^3=0
5. //推广一下就是a^a=0
6. //再来试一下0^3,000^011=011,可知0^3=3
7. //推广一下得0^a=a
8. //^按位异或满足交换律,所以2^3^3^2^4=2^2^3^3^4=0^4=4
9. //这样就可以找出数组中的“孤独的数”了

下面写一下完整的代码

1. #include<stdio.h>
2. int main()
3. {
4.  int n = 0;
5.  int arr[100] = { 0 };
6.  while (scanf("%d", &n) != EOF)//题目要求多组输入
7.  {
8.    int i = 0;
9.    for (i = 0; i < n; i++)
10.     {
11.       scanf("%d", &arr[i]);
12.     }
13.     int p = 0;//将孤独的数存在p里
14.     for (i = 0; i < n; i++)
15.     {
16.       p ^= arr[i];
17.     }
18.     printf("%d\n", p);
19.   }
20.   return 0;
21. }

ok,下期见!

相关文章
|
7月前
202. 快乐数
202. 快乐数
22 0
|
9天前
特别数的和(蓝桥杯)
特别数的和(蓝桥杯)
|
3月前
|
算法 C++
快乐数(C++)
快乐数(C++)
25 0
|
4月前
【每日一题Day180】LC2409统计共同度过的日子数 | 模拟
【每日一题Day180】LC2409统计共同度过的日子数 | 模拟
19 0
|
9月前
|
数据采集 数据挖掘 Python
【每周一坑】阿姆斯特朗数
提交代码可以使用 paste.ubuntu.com 或 codeshare.io 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。
|
9月前
|
数据采集 数据挖掘 Python
【每周一坑】乒乓数
刚从假期回来,又要迎接周末,各位看官想必都很辛苦,所以本周每周一坑为大家准备一道简单的甜点题目,本题取材于伯克利大学 CS61 课程 homework02。
蓝桥 大臣的旅费 (数的直径)
蓝桥 大臣的旅费 (数的直径)
蓝桥 凑平方数 (我依旧很菜)
蓝桥 凑平方数 (我依旧很菜)
|
10月前
【每日一道智力题】之海盗分金币(上)
【每日一道智力题】之海盗分金币(上)
115 0
|
10月前
|
算法
Leecode202. 快乐数
Leecode202. 快乐数
46 0