[蓝桥杯 2023 省 A] 平方差

题目链接

[蓝桥杯 2023 省 A] 平方差

题目描述

给定 L , R L,R L,R,问 L ≤ x ≤ R L \leq x \leq R LxR 有多少个 x x x 满足存在整数 y , z y,z y,z 使得 x = y 2 − z 2 x = y^2 - z^2 x=y2z2

输入格式

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

输出格式

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

输入输出样例
输入

1 5

输出

4

说明/提示
  • 1 = 1 2 − 0 2 1 = 1^2 - 0^2 1=1202
  • 3 = 2 2 − 1 2 3 = 2^2 - 1^2 3=2212
  • 4 = 2 2 − 0 2 4 = 2^2 - 0^2 4=2202
  • 5 = 3 2 − 2 2 5 = 3^2 - 2^2 5=3222
数据范围
  • 1 ≤ L , R ≤ 1 0 9 1 \leq L,R \leq 10^9 1L,R109

解法:数学 + 找规律

对于原式 x = y 2 − z 2 x = y^2 - z^2 x=y2z2,可以转换为 x = ( y + z ) ( y − z ) x = (y + z)(y-z) x=(y+z)(yz),令 a = y + z , b = y − z a = y + z, b = y - z a=y+z,b=yz,即 x = a × b x = a \times b x=a×b

因为 a − b = ( y + z ) − ( y − z ) = 2 z a - b = (y + z) - (y - z) = 2z ab=(y+z)(yz)=2z

所以 a a a b b b 之差一定是偶数,所以 a , b a ,b a,b 只能是 奇数和奇数 或者 偶数和偶数

1. a , b a,b a,b 都是 奇数 的情况:
a , b a,b a,b 都是奇数,那么 a × b a \times b a×b 也是奇数,所以 x x x 也是奇数,那么 [ L , R ] [L,R] [L,R] 范围内的奇数都满足条件。

2. a , b a,b a,b 都是 偶数 的情况:
a , b a,b a,b 都是偶数,那么 a × b a \times b a×b 也是偶数并且是 4 4 4 的倍数,所以 x x x 也是 4 4 4 的倍数,那么 [ L , R ] [L,R] [L,R] 范围内的 4 4 4 的倍数都满足条件。

如果要求 [ 1 , n ] [1,n] [1,n] 范围内的 奇数 个数,那就是 ⌈ n 2 ⌉ \lceil \frac{n}{2} \rceil 2n

举例,有 n u m s [ 9 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } nums[9] = \{ 1,2,3,4,5,6,7,8,9 \} nums[9]={1,2,3,4,5,6,7,8,9},那么奇数个数就为 ⌈ 9 2 ⌉ = 5 \lceil \frac{9}{2} \rceil = 5 29=5

如果要求 [ 1 , n ] [1,n] [1,n] 范围内的 4的倍数 个数,那就是 ⌊ n 4 ⌋ \lfloor \frac{n}{4} \rfloor 4n

举例,有 n u m s [ 9 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } nums[9] = \{ 1,2,3,4,5,6,7,8,9 \} nums[9]={1,2,3,4,5,6,7,8,9},那么4的倍数个数就为 ⌊ 9 4 ⌋ = 2 \lfloor \frac{9}{4} \rfloor = 2 49=2

如此我们就可以定义一个函数 f u n ( i ) fun(i) fun(i),求出 [ 1 , i ] [1,i] [1,i] 区间内所有满足条件的 x x x 的数量 ,最终返回的答案就是 f u n ( R ) − f u n ( L − 1 ) fun(R) - fun(L-1) fun(R)fun(L1)

时间复杂度: O ( 1 ) O(1) O(1)

C++代码:

#include <iostream>

using namespace std;

int fun(int x){
    return (x + 1) / 2 + x / 4;
}

int main(){
    int l, r;
    cin>>l>>r;
    
    int ans = fun(r) - fun(l - 1);
    cout<<ans<<'\n';
}

Java代码:

import java.util.*;
import java.io.*;

public class Main {
	static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
	static int n;
	
	public static int fun(int x) {
		return (x + 1) / 2 + x / 4;
	}
	
	public static void main(String[] args) throws Exception 
	{
		int l;
		int r;
		String[] str = in.readLine().split(" ");
		l = Integer.parseInt(str[0]);
		r = Integer.parseInt(str[1]);
		
		int ans = fun(r) - fun(l - 1);
		
		System.out.println(ans);
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/439244.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实现消息队列(Kafka、ActiveMQ、RabbitMQ和RocketMQ)高可用

概述 单机没有高可用可言&#xff0c;高可用都对集群来说的 要保证消息队列系统&#xff08;如Kafka、ActiveMQ、RabbitMQ和RocketMQ&#xff09;的高可用性&#xff0c;可以采取以下一些通用的措施&#xff1a; 集群部署&#xff1a;将消息队列系统部署为集群&#xff0c;包…

蓝桥杯2017年第八届真题-分巧克力

目录 题目描述 输入格式 输出格式 样例输入 样例输出 原题链接 代码实现 题目描述 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力&#xff0c;其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见&#xff0c;小明需…

143:vue+leaflet 在25833投影坐标下,加载一小块图像叠层数据

第143个 点击查看专栏目录 本示例是介绍如何在vue+leaflet, 自定义CRS,形成新的投影,这里是25833投影,并使用 L.Proj.imageOverlay的方法在地图上加载载一小块图像叠层数据。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式…

MVO-CNN-BiLSTM多输入时序预测|多元宇宙优化算法-卷积-双向长短期神经网络时序预测(Matlab)

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译&am…

捕获SpringSecurity异常,进行统一返回

无法捕获SpringSecurity的认证和鉴权中发生异常的原因 使用ControllerAdvice的全局异常处理器无法捕获到SpringSecurity中的异常&#xff0c;原因如下&#xff1a; 在SpringSecurity中&#xff0c;如果认证或者授权的过程中出现了异常会被ExceptionTranslationFilter捕获到。…

HTTP协议(请求方式,响应方式,请求行、头、体,状态码)是热点面试题【详解】

目录 1. HTTP简介 1.介绍 2.浏览器抓包 3.特点 2. HTTP请求 1.HTTP请求的格式 2.HTTP请求方式 3.GET方式的请求示例 请求行 请求头 请求体 4.POST方式的请求示例 请求行 请求头 请求体 GET和POST的区别 5.HTTP响应 1.HTTP响应的格式 2 常见响应头 3 响应…

Java面试(4)之 Spring Bean生命周期过程

一, 整个加载的完整链路图 更详细的生命周期函数链路图(仅供参考) 二, Bean实例化的四种方式: 1, 无参构造器(默认且常用)6 2, 静态工厂方法方式(factory-method指定实例化的静态方法) 3, 实例工厂方法方式(factory-bean指定bean的name,factory-method指定实例化方法) 4, 实…

基于springboot+vue实现民宿管理系统项目【项目源码+论文说明】计算机毕业设计

基于springbootvue实现民宿管理系统演示 摘要 伴随着我国旅游业的快速发展&#xff0c;民宿已成为最受欢迎的住宿方式之一。民宿借助互联网和移动设备的发展&#xff0c;展现出强大的生命力和市场潜力。民宿主要通过各种平台如携程、去哪儿、淘宝等在网络上销售线下住宿服务&a…

rabbitmq总结

一、初次感知 https://www.cnblogs.com/zqyx/p/13170881.html 这篇文章非常好&#xff0c;讲了一些持久化的原理。 1. 第一次使用rabbitmq发信息 // 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();connectionFactory.setHost("192.168.88.1…

led护眼灯真的能护眼吗?五大热门护眼台灯测评,不容错过!

如今&#xff0c;儿童近视率不断攀升&#xff0c;其中用眼过度疲劳已成为近视的主要诱因。学习环境中光线的适宜与否&#xff0c;直接关乎孩子眼睛的疲劳程度。因此&#xff0c;为孩子营造一个舒适、健康的学习环境显得尤为关键。而一款优质的护眼台灯&#xff0c;正是预防近视…

什么是AI智能答题?

AI智能答题是指利用人工智能&#xff08;AI&#xff09;技术&#xff0c;尤其是自然语言处理&#xff08;NLP&#xff09;和机器学习&#xff08;ML&#xff09;算法&#xff0c;来理解、分析并回答用户提出的问题的过程。这种技术可以应用于各种场合&#xff0c;包括在线教育平…

从新能源汽车行业自动驾驶技术去看AI的发展未来趋势

自动驾驶汽车关键技术主要包括环境感知、精准定位、决策与规划、控制与执行、高精地图与车联网V2X以及自动驾驶汽车测试与验证技术等。 &#x1f413; 自动驾驶技术 这是AI在汽车行业中应用最广泛的领域之一。自动驾驶技术利用AI算法和传感器来感知环境、识别障碍物&#xff0c…

【LeetCode: 149. 直线上最多的点数 + 模拟遍历】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

前端javascript的BOM对象知识精讲

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;前端泛海 景天的主页&#xff1a;景天科技苑 文章目录 BOM对象1.window对象2.定时器3.screen对象4.location对象5.navigator…

搜索SEO是什么?

1.搜索SEO&#xff08;search engine optimization搜索引擎优化&#xff09;&#xff1a;搜索引擎优化&#xff1b; ①搜索引擎&#xff1a;通过百度、谷歌、淘宝等搜索引擎去获取信息&#xff1b; ②优化&#xff1a;运营通过数据获取、数据分析、数据决策、数据正向反馈去…

Linux——文件标识符

目录 一、文件基础 二、常见的C语言文件接口 三、系统文件接口 四、理解语言与系统文件操作的关系 五、如何理解一切皆文件 六、文件标识符再理解 一、文件基础 一个空文件&#xff0c;也会占用磁盘空间&#xff0c;这是因为文件不仅仅有存放在里面的内容&#xff0c;还…

赋能汽车电动化与智能化,AUTO TECH 2024 华南展专业观众预登记开始啦!

赋能汽车电动化与智能化&#xff0c;AUTO TECH 2024 华南展专业观众预登记开始啦&#xff01; 一年一度的 AUTO TECH 又将来临&#xff0c; 2024年5月15-17日与您相约广州保利世贸博览馆&#xff0c; 本次展会汇聚全球传统车企、新势力车企等最新的造车技术&#xff0c;零部件…

纯css实现太极八卦图

感觉最近好像闯鬼了&#xff0c;赶紧写个八卦图避避邪&#xff0c;开玩笑了&#xff0c;不废话&#xff0c;上菜&#xff0c;看效果上代码。 效果 代码&#xff0c;你们都是大佬&#xff0c;这里就不解释代码了 &#xff08;hover会转动喔&#xff09;。 <!DOCTYPE html&g…

知名比特币质押协议项目Babylon确认参加Hack.Summit()2024区块链开发者大会

Babylon项目已确认将派遣其项目代表出席2024年在香港数码港举办的Hack.Summit()2024区块链开发者大会。作为比特币生态的领军项目&#xff0c;Babylon积极参与全球区块链领域的交流与合作&#xff0c;此次出席大会将为其提供一个展示项目进展、交流技术与创新思路的重要平台。B…