P9231 [蓝桥杯 2023 省 A] 平方差

devtools/2025/3/1 10:24:45/

P9231 [蓝桥杯 2023 省 A] 平方差 - 洛谷

题目描述

给定 L,R,问 L≤x≤R 中有多少个数 x 满足存在整数 y,z 使得 x=y2−z2。

输入格式

输入一行包含两个整数 L,R,用一个空格分隔。

输出格式

输出一行包含一个整数满足题目给定条件的 x 的数量。

输入输出样例

输入 #1输出 #1
1 54

说明/提示

【样例说明】

  • 1=12−02
  • 3=22−12
  • 4=22−02
  • 5=32−22

【评测用例规模与约定】

  • 对于 40% 的评测用例,L,R≤5000;
  • 对于所有评测用例,1≤L≤R≤109。

第十四届蓝桥杯大赛软件赛省赛 C/C++ 大学 A 组 C

思路:

数学知识,

  1. 奇偶性分析

    • 情况 1:y 和 z 都是奇数或都是偶数
      • 如果 y 和 z 都是奇数或都是偶数,那么 y−z 和 y+z 的奇偶性相同。
      • 两个奇数或两个偶数相减和相加的结果都是偶数。
      • 因此,x 是两个偶数的乘积,即 x 是 4 的倍数。
    • 情况 2:y 和 z 一奇一偶
      • 如果 y 和 z 一奇一偶,那么 y−z 和 y+z 都是奇数。
      • 两个奇数相乘的结果是奇数。
      • 因此,x 是两个奇数的乘积,即 x 是奇数。

从上述分析可以看出,无论 y 和 z 的奇偶性如何,x=(y−z)×(y+z) 总是可以表示为两个奇偶性相同的数的乘积:

  • 如果 y 和 z 的奇偶性相同,x 是两个偶数的乘积(即 4 的倍数)。
  • 如果 y 和 z 的奇偶性不同,x 是两个奇数的乘积(即奇数)。

因此,表达式 x=(y−z)×(y+z) 保证了 x 可以被拆分成两个奇偶性相同的数的乘积。

代码如下:
 

#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll; 
ll j(ll x)
{if(x == 0)return 0;elsereturn (x+1)/2;
}
ll o(ll x)
{return x/4;
}
int main() 
{ll l,r;cin >> l >> r;cout << j(r) - j(l - 1) + o(r) - o(l - 1); return 0;
}


http://www.ppmy.cn/devtools/163585.html

相关文章

C#使用Semantic Kernel:添加插件

SemanticKernel介绍 Semantic Kernel是一个SDK&#xff0c;它将OpenAI、Azure OpenAI等大型语言模型与C#、Python和Java等传统编程语言集成在一起。Semantic Kernel通过允许您定义插件来实现这一点。 为什么需要添加插件&#xff1f; 大语言模型虽然具有强大的自然语言理解和…

算法之数据结构

目录 数据结构 数据结构与算法面试题 数据结构 《倚天村 • 图解数据结构》 | 小傅哥 bugstack 虫洞栈 ♥数据结构基础知识体系详解♥ | Java 全栈知识体系 线性数据结构 | JavaGuide 数据结构与算法面试题 数据结构与算法面试题 | 小林coding

Go语言学习笔记(四)

文章目录 十六、并发概念GoroutineGMPruntime包Channelselect并发安全和锁互斥锁读写互斥锁 原子操作(atomic包)GMP 原理与调度Golang “调度器” 的由来Go 语言的协程 goroutineGoroutine 调度器的 GMP 模型的设计思想 十七、网络编程网络协议Socketsockettcpudp httphttp协议…

Nginx 报错:413 Request Entity Too Large

做web开发时&#xff0c;对于上传附件的功能&#xff0c;如果nginx没有调整配置&#xff0c;上传大一点的文件就会发生下面这种错误&#xff1a; 要解决上面的问题&#xff0c;只需要调整Nginx配置文件中的 client_max_body_size 参数即可&#xff0c;这个配置参数一般在http配…

Chromium项目相关

Chromium项目相关 Chromium 是一个开源浏览器项目&#xff0c;旨在为所有用户构建一种更安全、更快速、更稳定的方式来体验 Web。 自 Google 在 2008 年宣布 Chromium 项目以来&#xff0c;他们一直很高兴能够在开源 Web 浏览器的良好基础上进行构建&#xff0c;并为富 Web 平…

游戏引擎学习第126天

仓库:https://gitee.com/mrxiao_com/2d_game_3 单生产者/多消费者问题 在今天的讨论中&#xff0c;主要与多线程编程有关。问题出现在多线程环境中&#xff0c;当多个线程同时访问共享资源时&#xff0c;代码没有正确处理竞争条件&#xff0c;导致了错误的行为。 具体问题发…

P8623 [蓝桥杯 2015 省 B] 移动距离

P8623 [蓝桥杯 2015 省 B] 移动距离 题目 解析代码 题目 解析 完了完了T.T&#xff0c;这个题我做了20分钟 解题思路就是分组&#xff0c;但是编写的时候最好把边界值过一遍【题目提供的测试数据肯定是最好通过的数据&#xff0c;需要你自己过一遍特殊数据&#xff0c;然后再…

论文阅读之基于Syn2Real域的侧扫声纳类水雷目标探测

摘要 由于现实世界数据的稀缺性&#xff0c;基于深度学习的水下水雷探测受到了限制。这种稀缺性导致过拟合&#xff0c;即模型在训练数据上表现良好&#xff0c;但在未见数据上表现不佳。本文提出了一种使用扩散模型的Syn2Real &#xff08;Synthetic to Real&#xff09;域泛…