2024蓝桥杯每日一题(最大公约数)

备战2024年蓝桥杯 -- 每日一题
Python大学A组

        试题一:公约数
        试题二:最大公约数
        试题三:等差数列
        试题四:最大比例
        试题五:Hankson的趣味题


试题一:公约数

【题目描述】

        给定两个正整数 a 和 b。你需要回答 q 个询问。每个询问给定两个整数 l,r,你需要找到最大的整数 x,满足:

  1. x 是 a 和 b 的公约数。
  2. l≤x≤r。

【输入格式】

        第一行包含两个整数 a,b。

        第二行包含一个整数 q。

        接下来 q 行,每行包含两个整数 l,r。

【输出格式】

        每个询问输出一行答案,即满足条件的最大的 x,如果询问无解,则输出 −1。

【数据范围】

【输入样例】

9 27
3
1 5
10 11
9 11

【输出样例】

3
-1
9

【解题思路】

        a和b的公约数一定是a,b最大公因数的约数。所以直接枚举出gcd(a,b)的所有约数,然后找l,r范围内的最大的一个。

【Python程序代码】

from math import *
a,b = map(int,input().split())
ca,cb = [],[]
i = 1
while i*i<=a:if a%i==0:ca.append(i)if a//i !=i:ca.append(a//i)i += 1
i = 1
while i*i<=b:if b%i==0:cb.append(i)if b//i !=i:cb.append(b//i)i += 1
ca.sort(); cb.sort()
con = []
for i in ca:if i in cb:con.append(i)
con.sort()
q = int(input())
#print(con)
for _ in range(q):a,b = map(int,input().split())l,r = 0,len(con)-1while l<r:mid = (l+r)>>1if con[mid]>=a:r=midelse:l=mid+1ll,rr=0,len(con)-1while ll<rr:mid = (ll+rr+1)>>1if con[mid]<=b:ll=midelse:rr=mid-1#print("r = %d rr = %d"%(r,rr))if con[r]>=a and con[rr]<=b:if con[r]<=b and con[rr]>=a:print(max(con[r],con[rr]))elif con[r]<=b and con[rr]<a:print(con[r])elif con[r]>b and con[rr]>=a:print(con[rr])else:print(-1)else:print(-1)

试题二:最大公约数

【题目描述】

        给定 n对正整数 ai,bi,请你求出每对数的最大公约数。

【输入格式】

        第一行包含整数 n。

        接下来 n行,每行包含一个整数对 ai,bi。

【输出格式】

        输出共 n 行,每行输出一个整数对的最大公约数。

【数据范围】

        1≤n≤105,
        1≤ai,bi≤2×109

【输入样例】

2
3 6
4 6

【输出样例】

3
2

【解题思路】

        模板题

【Python程序代码】

from math import *
def gcd1(a,b):if b==0:return areturn gcd1(b,a%b)
n = int(input())
for i in range(n):a,b = map(int,input().split())print(gcd(a,b))

试题三:等差数列

【题目描述】

        数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?

【输入格式】

        输入的第一行包含一个整数 N。

        第二行包含 N 个整数 A1,A2,⋅⋅⋅,AN。(注意 A1∼AN 并不一定是按等差数列中的顺序给出)

【输入格式】

        输出一个整数表示答案。

【数据范围】

        2≤N≤100000
        0≤Ai≤109

【输入样例】

5
2 6 4 10 20

【输出样例】

10

【解题思路】

        排序后,求出相邻数差的最大公约数

【Python程序代码】

from math import *
n = int(input())
a = list(map(int, input().split()))
a.sort()
d = a[1]-a[0]
if d==0:print(len(a))
else:for i in range(1,n):d = min(d,gcd(a[i]-a[i-1],d))print( (a[-1]-a[0])//d+1 )

试题四:最大比例

【题目描述】

        X星球的某个大奖赛设了 M 级奖励。每个级别的奖金是一个正整数。并且,相邻的两个级别间的比例是个固定值。也就是说:所有级别的奖金数构成了一个等比数列。比如:16,24,36,54,其等比值为:3/2。现在,我们随机调查了一些获奖者的奖金数。请你据此推算可能的最大的等比值。

【输入格式】

        第一行为数字 N ,表示接下的一行包含 N 个正整数。

        第二行 N 个正整数 Xi,用空格分开,每个整数表示调查到的某人的奖金数额。

【输出格式】

        一个形如 A/B 的分数,要求 A、B 互质,表示可能的最大比例系数。

【输入样例】

3
1250 200 32

【输出样例】

25/4

【解题思路】

        先排个序,然后分子分母分别除以a[0],b[0]。然后分子分母序列进行辗转相减法,由于是指数上的运算应写成除法。

【Python程序代码】

from math import *
n = int(input())
s = list(map(int,input().split()))
s = list(set(s))
s.sort()
a,b = [],[]
for i in range(1,len(s)):co = gcd(s[i],s[0])a.append(s[i]//co)b.append(s[0]//co)
up,down = a[0],b[0]
def gcd_sub(a,b):if a<b:a,b=b,aif b==1:return areturn gcd_sub(b,a//b)
for i in range(1,len(a)):up = gcd_sub(up,a[i])down = gcd_sub(down,b[i])
print("%d/%d"%(up,down))

试题五:Hankson的趣味题

【题目描述】

        Hanks 博士是 BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数 c1 和 c2的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整数 a0,a1,b0,b1,设某未知正整数 x 满足:

  1. x 和 a0的最大公约数是 a1;
  2. x 和 b0的最小公倍数是 b1。

        Hankson 的“逆问题”就是求出满足条件的正整数 x。但稍加思索之后,他发现这样的 x 并不唯一,甚至可能不存在。因此他转而开始考虑如何求解满足条件的 x 的个数。请你帮助他编程求解这个问题。

【输入格式】

        输入第一行为一个正整数 n,表示有 n 组输入数据。

        接下来的 n 行每行一组输入数据,为四个正整数 a0,a1,b0,b1,每两个整数之间用一个空格隔开。

        输入数据保证 a0能被 a1 整除,b1 能被 b0 整除。

【数据范围】

        1≤n≤2000,
        1≤a0,a1,b0,b1≤2∗109

【输入样例】

2
41 1 96 288
95 1 37 1776

【输出样例】

6
2

【解题思路】

        首先x一定是b1的约数,所以直接枚举b1的约数,判断是否满足那两个条件。

【Python程序代码】

from math import *
import sys
input = sys.stdin.readline
n = int(input())
for i in range(n):a0,a1,b0,b1 = map(int,input().split())tep = []i = 1while i*i<=b1:if b1%i==0:tep.append(i)if b1//i!=i:tep.append(b1//i)i += 1res = 0for x in tep:if gcd(x,a0)==a1 and x*b0//gcd(x,b0)==b1:res+=1print(res)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小红书搜索团队提出新解码策略,降低大模型推理成本

如何让大语言模型&#xff08;LLMs&#xff09;“智能涌现”&#xff1f;关键技术之一是思维链&#xff08;Chain of Thought&#xff0c;CoT&#xff09;&#xff0c;它通过引导大模型&#xff0c;一步一步模拟人类思考过程&#xff0c;可有效增强大模型的逻辑推理能力。 而自…

redis7 源码调试 服务端处理客户端./redis-cli连接 指令执行过程

redis7 源码调试 服务端处理客户端./redis-cli连接 指令执行过程 ##redis-cli客户端发起 ./redis-cli 客户端连接 指令 ##redis网络请求 1、AE_READABLE事件 2、客户端fd 3、创建文件事件 4、添加客户端cfd读写事件 5、处理读事件AE_READABLE 6、回调函数处理连接请求 rea…

TensorFlow学习之:高级应用和扩展

生成对抗网络&#xff1a;了解GAN的基本原理&#xff0c;使用TensorFlow实现简单的GAN 生成对抗网络&#xff08;Generative Adversarial Networks&#xff0c;GAN&#xff09;由两部分组成&#xff1a;生成器&#xff08;Generator&#xff09;和判别器&#xff08;Discrimin…

【Phytium】飞腾D2000 UEFI/EDK2 适配 RTC(IIC SD3077)

文章目录 0. env1. 软件2. 硬件 10. 需求1. 硬件2. 软件 20. DatasheetCPURTC 30. 调试步骤1. 硬件环境搭建2. UEFI 开发环境搭建3. 修改步骤1. UEFI 中使能RTC驱动、配置RTC信息等1.1 使能RTC驱动1.2 修改RTC对应的IIC配置信息1.3 解决驱动冲突1.4 验证波形 2. 修改对应RTC驱动…

CuraEngine(3)打印核心函数addLinesByOptimizer源码阅读

LayerPlan::addLinesByOptimizer的函数&#xff0c;它的主要功能是在给定的多边形集合&#xff08;polygons&#xff09;中按照最优顺序添加每个线条Line。函数使用了优化器类&#xff08;LineOrderOptimizer&#xff09;来对多边形进行排序&#xff0c;以便得到最优顺序。以下…

【二分查找】Leetcode 74. 搜索二维矩阵【中等】

搜索二维矩阵 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&#xff0c…

如何杜绝工厂产线人员的误操作?

工厂产线操作人员大部分教育程度不太高&#xff0c;在这里没有任何歧视的意思&#xff0c;工作中出现误操作的可能性比较大&#xff0c;在推行自动化过程中常常出现的问题&#xff0c;是软件开发人员所想不到的&#xff1b;单纯想利用软件规避所有的问题不太现实。 要杜绝工厂…

电磁场公式

矢量分析 梯度和方向倒数 标量场 φ \varphi φ 的梯度为 g r a d φ ∇ φ e x ⃗ ∂ φ ∂ x e y ⃗ ∂ φ ∂ y e z ⃗ ∂ φ ∂ z grad\varphi\nabla \varphi\vec{e_x}\frac{\partial \varphi}{\partial x}\vec{e_y}\frac{\partial \varphi}{\partial y}\vec{e_z}\f…

LeetCode 1.两数之和(HashMap.containsKey()、.get、.put操作)

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回…

深入掌握k8s核心概念--Pod(二)

详解Pod的配置管理与调度特性等剖析 Kubernetes 中 Pod 的配置管理&#xff08;ConfigMap&#xff09;、调度策略、回滚与扩缩容详解一、Pod 配置管理&#xff1a;ConfigMap创建 ConfigMap 示例使用 ConfigMap 的 Pod 示例 二、玩转 Pod 调度&#xff1a;Kubernetes 高级调度策…

1 GBDT:梯度提升决策树

1 前言 前面简单梳理的基本的决策树算法&#xff0c;那么如何更好的使用这个基础算法模型去优化我们的结果是本节要探索的主要内容。 梯度提升决策树&#xff08;Gradient Boosting Decision Trees&#xff09;是一种集成学习方法&#xff0c;通常用于解决回归和分类问题。它通…

DC/DC电源模块直流升压变换器电压控制输出5V12V24V转0-50V80V110V150V180V200V250V300V500V800V1000V

特点 效率高达 75%以上1*2英寸标准封装单电压输出可直接焊在PCB 上工作温度: -40℃~75℃阻燃封装&#xff0c;满足UL94-V0 要求温度特性好电压控制输出,输出电压随控制电压线性变化 应用 GRB 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为&#xff1a;4.5~9V、…

MySQL数据库——13.ORDER BY(排序) 语句

在 MySQL 中 ORDER BY 语句用于对查询结果进行排序。可以根据一个或多个列的值对结果集进行排序,可以指定升序(ASC)或降序(DESC)排序。 SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...; 在这个语法中,SELECT 查…

【ElasticSearch】安装

1.官网寻找合适版本下载 这里我选择的是8.11.1 2.解压并启动 然后在浏览器输入http://localhost:9200/&#xff0c;判断是否启动成功 如下所示&#xff0c;则表示启动成功 安装过程中遇到过几个bug&#xff0c;记录在这篇文章中 【ElasticSearch】安装&#xff08;bug篇&am…

六、OpenFeign服务接口调用

一、提问 已经有loadbalancer为什么还要学习OpenFeign? 两个都有道理的话&#xff0c;日常用那个&#xff1f; 二、是什么 OpenFeign是什么 官网翻译 Feign是一个声明性web服务客户端。它使编写web服务客户端变得更容易。使用Feign创建一个接口并对其进行注释。它具有可…

一键生成绘画作品,国内提供的7款AI绘画软件推荐

随着人工智能的迅猛发展&#xff0c;给我们的工作和兴趣带来了极大的便利。尤其是在绘画领域&#xff0c;随着越来越多的AI绘画工具的问世&#xff0c;我们能够以惊人的速度创作出精美的插图和照片。因此&#xff0c;本文将为大家介绍7款备受推崇的AI绘画软件~ 1.爱制作AI 爱制…

连连看游戏页面网站源码,直接使用

可以上传自己喜欢的图片 游戏页面 通关页面 源码免费下载地址抄笔记 (chaobiji.cn)

Java面试题:2024面试全攻略+BTA内部密卷 视频教程+springboot

基础篇 1、 Java语言有哪些特点 1、简单易学、有丰富的类库 2、面向对象&#xff08;Java最重要的特性&#xff0c;让程序耦合度更低&#xff0c;内聚性更高&#xff09; 阿里内部资料 基本类型 大小&#xff08;字节&#xff09; 默认值 封装类 6、Java自动装箱与拆箱 装箱就是…

springboot运行原理

springboot运行原理 1、启动器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency>​ springboot-boot-starter:就是springboot的场景启动器。springboot将所有的…

图像超分辨率—SRGAN训练及测试教程(Pytorch)

图像超分辨率—SRGAN训练及测试教程(Pytorch) 目录 图像超分辨率—SRGAN训练及测试教程(Pytorch)训练教程训练完整代码测试教程测试单张图片测试完整代码论文链接:Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Networ (CVPR2017) 代码…