【漫步刷题路】-位运算-求1到n异或的结果

简介: 规律总结:每四个数是一个循环且循环规律为: 1 ,n+1 ,0, n

7a34fe554b7c48f0adc8a6f690934cc1.png

要求

求1^2 …^n的结果


异或的特点分析:

**异或的特点:**对应比特位进行异或,对应比特位相同结果为0,不同为1

  • 异或满足交换律和结合律
  • a^a = 0 -> 任何数和自己异或,结果为0
  • a^0 = a ->和0异或的结果为本身
  • a^b = b^a ->异或满足交换律
  • a ^ b ^ c = a ^(b ^ c) = (a ^ b)^ c ->异或满足结合律
  • d = a ^ b ^ c 可以推出 a = d ^ b ^ c ->->异或满足结合律
  • a ^ b ^ a = b ->异或满足自反行性

找规律

找规律:从1 ^ 2 …^n

0异或任何数等于其本身,所以相当于:0 ^ 1 ^ 2n

0^1 = 1
1^2 = 3
1^2^3 = 0
1^2^3^4 = 4
1^2^3^4^5 = 1
1^2^3^4^5^6 = 7  
1^2^3^4^5^6^7 = 0
1^2^3^4^5^6^7^8 = 8

可以得出

规律总结:

每四个数是一个循环

且循环规律为: 1 ,n+1 ,0, n


用结论秒杀:

所以:问:115 结果为?

n = 15  15%4 = 3   
 根据(1 n+1 0 n)    所以结果为0

问:11002结果为??

1002%4 = 2   
根据(1,n+1,0,n)  所以结果为:n + 1 = 1002 + 1=1003

代码

int main()
{
  //产生1-n的异或值
  int i = 1;
  int n = 0;
  printf("请输入从1-?连续异或?中的值:>");
  scanf("%d", &n);
  int x = 0;//记录1异或n的结果
  for (i = 1; i <= n; i++)
  {
    x ^= i;
  }
  printf("1->%d连续异或的结果为:%d\n", n, x);
  return 0;
}
```
相关文章
|
Java 测试技术 开发工具
拯救狗屎代码:基于 Gitlab 的代码审查,简单实用
code review 的目的是提高代码质量,减少开发bug,俗话说,三人行必有我师,众人拾柴火焰高。 gitlab提供了code review机制,对基于gitlab的code review,直接以具体例子的形式做个实践总结。
1999 0
拯救狗屎代码:基于 Gitlab 的代码审查,简单实用
|
弹性计算 运维 安全
阿里云无影云电脑——更安全可靠便宜
阿里云无影云电脑——更安全可靠便宜,什么是阿里云无影云电脑?无影云电脑(原云桌面)是一种快速构建、高效管理桌面办公环境,无影云电脑可用于远程办公、多分支机构、安全OA、短期使用、专业制图等使用场景,阿里云百科分享无影云桌面的详细介绍、租用价格、云电脑的优势、使用场景、网络架构、无影云电脑与云服务器的区别以及关于无影云电脑的常见问题解答FAQ
1386 1
|
消息中间件 数据管理 Serverless
阿里云消息队列 Apache RocketMQ 创新论文入选顶会 ACM FSE 2025
阿里云消息团队基于 Apache RocketMQ 构建 Serverless 消息系统,适配多种主流消息协议(如 RabbitMQ、MQTT 和 Kafka),成功解决了传统中间件在可伸缩性、成本及元数据管理等方面的难题,并据此实现 ApsaraMQ 全系列产品 Serverless 化,助力企业提效降本。
|
7月前
|
数据采集 JSON 监控
京东宝贝详情数据采集指南
京东商品详情API是京东开放平台核心接口,合规、实时(延迟≤30秒)、全量获取商品结构化数据,涵盖价格、库存、图文、参数、评价等维度,支持高并发与企业级配额,广泛应用于比价监控、选品分析、ERP集成及营销推荐等场景。
|
安全 Java 网络安全
Java 实现 SMTP 协议调用的详细示例及实战指南 SMTP Java 调用示例
本文介绍了如何使用Java调用SMTP协议发送邮件,涵盖SMTP基本概念、JavaMail API配置、代码实现及注意事项,适合Java开发者快速掌握邮件发送功能集成。
1582 0
|
安全 API UED
A2A(Agent2Agent) 简介
本文主要介绍Google于2025年4月9日发布的Agent2Agent Protocol(简称“A2A”),这是一个旨在促进不同类型智能体(Agent)之间高效沟通与协作的开放协议。
9604 74
A2A(Agent2Agent) 简介
|
JSON 监控 API
1688商品列表API接口指南
1688 商品列表 API 可帮助开发者和商家获取商品基本信息(如 ID、名称、价格等)、支持筛选排序(类目、价格、销量等条件)、分页查询及指定店铺商品获取,便于商品管理与竞品分析。调用流程包括:注册账号创建应用以获取 App Key 和 App Secret、生成签名确保请求合法性、构造请求参数(含 app_key、sign 等)、发送 HTTP 请求并处理 JSON 响应数据。
679 19
|
云安全 存储 弹性计算
|
开发框架 Prometheus 监控
SpringCloud微服务实战——搭建企业级开发框架(四十四):【微服务监控告警实现方式一】使用Actuator + Spring Boot Admin实现简单的微服务监控告警系统
 业务系统正常运行的稳定性十分重要,作为SpringBoot的四大核心之一,Actuator让你时刻探知SpringBoot服务运行状态信息,是保障系统正常运行必不可少的组件。 spring-boot-starter-actuator提供的是一系列HTTP或者JMX监控端点,通过监控端点我们可以获取到系统的运行统计信息,同时,我们可以自己选择开启需要的监控端点,也可以自定义扩展监控端点。 Actuator通过端点对外暴露的监控信息是JSON格式数据,我们需要使用界面来展示,目前使用比较多的就是Spring Boot Admin或者Prometheus + Grafana的方式
2280 57