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

相关推荐
wxy不爱写代码8 小时前
C++多线程
面试·职场和发展
野生技术架构师11 小时前
金三银四面试总结篇,汇总 Java 面试突击班后的面试小册
java·面试·职场和发展
_深海凉_11 小时前
LeetCode热题100-寻找两个正序数组的中位数
算法·leetcode·职场和发展
ja哇12 小时前
大厂面试高频八股
java·面试·职场和发展
Advancer-14 小时前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
superior tigre17 小时前
739 每日温度
算法·leetcode·职场和发展
小程故事多_8019 小时前
[大模型面试系列] 破解 Agent 软故障困局,四层防御 + 可观测性,筑牢生产级稳健性防线
人工智能·面试·职场和发展·智能体
WL_Aurora19 小时前
备战蓝桥杯国赛【day3】
python·蓝桥杯
程序员小远1 天前
如何编写测试用例?
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例