AcWing---公约数---最大公约数

4199. 公约数 - AcWing题库 

思路:

最大整数x一定是最大公约数的因数,所以先用__gcd(a,b)求出a和b的最大公因数,再用O(log(n))的算法求出最大公因数的因数,放到vector中,并将vector排序。利用STL中的upper_bound(res.begin(),res.end(),num)找到res中大于num的最小位置,如果该位置的元素大于等于l,则成立。

推荐博客:关于lower_bound( )和upper_bound( )的常见用法_lowerbound和upperbound-CSDN博客

for(auto i : v)遍历容器元素_for auto 遍历-CSDN博客

【C++】__gcd(x,y)函数_∑ y∈c gcd(x,y)-CSDN博客

C++代码:

#include<bits/stdc++.h>
using namespace std;int a,b,q,l,r;
vector<int> res;
int main(){cin>>a>>b>>q;int temp=__gcd(a,b);for(int i=1;i*i<=temp;i++){if(temp%i==0){res.push_back(i);res.push_back(temp/i);}}sort(res.begin(),res.end());/*for(auto i:res){cout<<i<<' ';}cout<<endl;*/for(int i=1;i<=q;i++){cin>>l>>r;int idx=upper_bound(res.begin(),res.end(),r)-res.begin();//找大于r的最小索引(顺序)if(idx-1>=0 && res[idx-1]>=l){cout<<res[idx-1]<<endl;}else{cout<<"-1"<<endl;}}return 0;
}

Python代码:

在python中:Python3二分查找库函数bisect(), bisect_left()和bisect_right()介绍-CSDN博客

import math
import bisect
res=[]
a,b=map(int,input().split())
q=int(input())
temp=math.gcd(a,b)
j=1
while j*j<=temp:if temp%j==0:res.append(j)res.append(int(temp/j))j+=1
res.sort()
for i in range(1,q+1):l,r=map(int,input().split())idx=bisect.bisect_right(res,r)if idx-1>=0 and res[idx-1]>=l:print(res[idx-1])else:print("-1")

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

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

相关文章

Star GAN论文解析

论文地址&#xff1a;https://arxiv.org/pdf/1912.01865v1.pdf https://openaccess.thecvf.com/content_cvpr_2018/papers/Choi_StarGAN_Unified_Generative_CVPR_2018_paper.pdf 源码&#xff1a;stargan项目实战及源码解读-CSDN博客 1. 概述 在传统方法中&#x…

游戏引擎之高级动画技术

一、动画混合 当我们拥有各类动画素材&#xff08;clips&#xff09;时&#xff0c;要将它们融合起来成为一套完整的动画。 最经典的例子就是从走的动画自然的过渡到跑的动画。 1.1 线性插值 不同于上节课的LERP&#xff08;同一个clip内不同pose之间&#xff09;&#xff…

JVM 内存溢出排查

说明&#xff1a;记录一次JVM内存溢出的排查过程&#xff1b; 场景 项目开发完成后&#xff0c;首次提交到测试环境。测试、产品同事反馈页面先是操作响应慢&#xff0c;抛出超时异常&#xff0c;最后直接无法使用。查看日志后得知是内存溢出。 重启服务后&#xff0c;我对前…

Linux Summary of My Own - Big

DIY Linux Summaries I) Command Lines1.1) difference between "escshifti" and "escshifta"1.2) how to use escape character to have computing on multiplication1.3) file types in Linux I) Command Lines 1.1) difference between “escshifti” …

c语言库函数:时间相关time,localtime,asctime

目录 1.引言 2.时间函数基本信息 2.1 time函数 2.2 local函数 2.3 asctime函数 3.使用demo 1.引言 很多时候&#xff0c;我们需要使用当前时间&#xff0c;怎么获取呢&#xff1f;其实c语言库函数中提供了一些列时间相关的函数&#xff0c;可以从系统中获取时间的方法。…

SV学习笔记(五)

线程的使用 程序和模块 module&#xff08;模块&#xff09;作为SV从verilog继承过来的概念&#xff0c;自然地保持了它的特点&#xff0c;除了作为RTL模型的外壳包装和实现硬件行为&#xff0c;在更高层的集成层面&#xff0c;模块之间也需要通信和同步。 对于硬件的过程块&…

如何物理控制另一台电脑以及无网络用作副屏(现成设备和使用)

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 控制另一台电脑有很多方法&…

记录一下前端定时器清除失效的问题

目录 一、问题引入 二、错误代码&#xff1a; 三、错误原因 四、修正的代码 附 vue提供的线上运行代码网址以便证实可用性 一、问题引入 按理说&#xff0c;打开定时器 xxx setInterval(()>{ },100)&#xff0c;之后只要 clearInterval(xxx) 就可以顺利关闭定时器…

5.113 BCC工具之nfsslower.py解读

一,工具简介 NFS是一种分布式文件系统协议,允许客户端通过网络访问服务器上的文件。然而,由于网络延迟、服务器负载等原因,NFS操作可能会变得缓慢,从而影响系统性能。 nfsslower 显示慢于阈值的 NFS 读取、写入、打开和 getattr 操作。这有助于我们发现导致NFS性能下降的…

【漏洞复现】用友NC Cloud前台命令执行漏洞

0x01 阅读须知 “如棠安全的技术文章仅供参考&#xff0c;此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供…

Visual Studio安装下载进度为零已解决

因为在安装pytorch3d0.3.0时遇到问题&#xff0c;提示没有cl.exe&#xff0c;VS的C编译组件&#xff0c;可以添加组件也可以重装VS。查了下2019版比2022问题少&#xff0c;选择了安装2019版&#xff0c;下面是下载安装时遇到的问题记录&#xff0c;关于下载进度为零网上有三类解…

[Spring Cloud] gateway全局异常捕捉统一返回值

文章目录 处理转发失败的情况全局参数同一返回格式操作消息对象AjaxResult返回值状态描述对象AjaxStatus返回值枚举接口层StatusCode 全局异常处理器自定义通用异常定一个自定义异常覆盖默认的异常处理自定义异常处理工具 在上一篇章时我们有了一个简单的gateway网关 [Spring C…

蓝桥杯杯赛之深度优先搜索优化《1.分成互质组》 《 2.小猫爬山》【dfs】【深度搜索剪枝优化】【搜索顺序】

文章目录 思想例题1. 分成互质组题目链接题目描述【解法一】【解法二】 2. 小猫爬山题目链接题目描述输入样例&#xff1a;输出样例&#xff1a;【思路】【WA代码】【AC代码】 思想 本质为两种搜索顺序&#xff1a; 枚举当前元素可以放入哪一组枚举每一组可以放入哪些元素 操…

如何更改WordPress站点的域名:完全指南

更换WordPress网站的域名可能看起来是一个复杂的过程&#xff0c;但只要按部就班&#xff0c;实际上是一个相对直接的任务。无论是因为品牌重塑&#xff0c;还是简单地想要一个更好的域名&#xff0c;这篇文章将引导你通过从旧域名到新域名的整个迁移过程。请仔细遵循以下步骤&…

腾讯云服务器优惠活动价格表_CPU内存带宽报价明细

2024年最新腾讯云服务器租用优惠价格表&#xff1a;轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器646元15个月&#xff1b;轻量4核16G12M带宽32元1个月、96元3个…

【OpenCV-颜色空间】

OpenCV-颜色空间 ■ RGB■ BGR■ HSV■ HSL■ HUE■ YUV ■ RGB ■ BGR BGR 就是RGB R和B调换位置。 OpenCV 默认使用BGR ■ HSV ■ HSL ■ HUE ■ YUV

数组指针和指针数组

理解数组指针和指针数组之间的区别是很重要的&#xff0c;尤其在C语言中。以下是它们的主要区别&#xff1a; 数组指针&#xff08;Pointer to an Array&#xff09;&#xff1a; 数组指针是指向数组的指针。 它指向整个数组&#xff0c;而不是数组中的单个元素。 它的声明形…

C#将Console写至文件,且文件固定最大长度

参考文章 将C#的Console.Write同步到控制台和log文件输出 业务需求 在生产环境中&#xff0c;控制台窗口不便展示出来。 为了在生产环境中&#xff0c;完整记录控制台应用的输出&#xff0c;选择将其输出到文件中。 但是&#xff0c;一次性存储所有输出的话&#xff0c;文件会…

环形链表--极致的简便

一、要求 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&a…