蓝桥杯刷题--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")

相关推荐
测试界的海飞丝6 小时前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展
小白程序员成长日记7 小时前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
资深web全栈开发13 小时前
LeetCode 1015. 可被 K 整除的最小整数 - 数学推导与鸽巢原理
算法·leetcode·职场和发展
CoderYanger14 小时前
优选算法-队列+宽搜(BFS):72.二叉树的最大宽度
java·开发语言·算法·leetcode·职场和发展·宽度优先·1024程序员节
Hacker_Oldv18 小时前
Python技能进阶:探索Selenium库,实现网页自动化测试与爬虫
自动化测试·软件测试·爬虫·python·selenium·职场和发展
Hacker_Oldv21 小时前
API 自动化测试难点总结与分享
自动化测试·软件测试·职场和发展
czlczl200209251 天前
算法:组合问题
算法·leetcode·职场和发展
CoderYanger1 天前
优选算法-字符串:63.二进制求和
java·开发语言·算法·leetcode·职场和发展·1024程序员节
CoderYanger1 天前
优选算法-栈:67.基本计算器Ⅱ
java·开发语言·算法·leetcode·职场和发展·1024程序员节
덕화1 天前
【面试宝典】线上问题逆向分析1
面试·职场和发展