4

位运算异或^的奇技淫巧

 1 year ago
source link: https://blog.51cto.com/u_15740457/5919670
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

位运算异或^的奇技淫巧

精选 原创

hanwangyyds 2022-12-07 16:13:21 博主文章分类:竞赛 ©著作权

文章标签 异或运算 数组 随机数 文章分类 C/C++ 编程语言 yyds干货盘点 阅读数187

^异或的性质

1、交换律  a^b==b^a

2、结合律  (a^b)^c==a^(b^c)

3、对于任何数x,都有x^x=0,x^0=x,同自己求异或为0,同0异或为自己

4、A^A^B=B,连续和同一个因子做异或运算,最终结果为自己!

异或^的例题

一、找出唯一成对的数

位运算异或^的奇技淫巧_随机数

本题只有一个数是成对的,其余数全部单独出现。因此我们可以让这1001个数自己跟自己^,此时单独的数全部成对,而唯一成双的数变成了3个数,,此时根据异或运算的性质,成双的数全部变成0;只有奇数个数,异或后才是自己

编程实现:

首先需要按照题目要求创建一个数组存放1~1000的数,且需要重复一个,可以利用生成随机数实现。

接着利用循环,将数组的数两次^

位运算异或^的奇技淫巧_随机数_02

二、找出唯一落单的数

将所有成员进行^,相对第一道题更加简单

  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK