蓝桥杯刷题--python-36

4199. 公约数 - AcWing题库

def gcd(a,b):

while b:

a,b=b,a%b

return a

def init_divisors(a,b):

d=gcd(a,b)

i=1

while i*i<=d:

if d%i==0:

ans.append(i)

if i!=d//i:ans.append(d//i)

i+=1

ans.sort()

a,b=map(int,input().split())

ans=[]

init_divisors(a,b)

q=int(input())

for _ in range(q):

L,R=map(int,input().split())

l=0;r=len(ans)-1

while (l<r):

mid=l+r+1>>1

if ans[mid]<=R:l=mid

else: r=mid-1

if ans[r]>=L:

print(ans[r])

else:

print("-1")

相关推荐
尘觉1 天前
面试-浅复制和深复制?怎样实现深复制详细解答
javascript·面试·职场和发展
007php0071 天前
京东面试题解析:同步方法、线程池、Spring、Dubbo、消息队列、Redis等
开发语言·后端·百度·面试·职场和发展·架构·1024程序员节
微笑尅乐1 天前
洗牌算法讲解——力扣384.打乱数组
算法·leetcode·职场和发展
松间沙路hba1 天前
面试过程中的扣分项,你踩过几个?
面试·职场和发展
夏鹏今天学习了吗1 天前
【LeetCode热题100(50/100)】岛屿数量
算法·leetcode·职场和发展
墨染点香1 天前
LeetCode 刷题【134. 加油站】
算法·leetcode·职场和发展
这个世界的真神2 天前
【每日算法】 洛谷 P12341 【[蓝桥杯 2025 省 A/Python B 第二场] 消消乐】 2025.10.26
python·算法·蓝桥杯
LucianaiB2 天前
仓颉语言核心技术解析:如何开发高性能服务端应用
职场和发展·高性能·语言·仓颉