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")
蓝桥杯刷题--python-36
芝士小熊饼干2024-04-07 16:04
相关推荐
牛客企业服务9 小时前
AI面试选型策略:9大维度避坑指南a程序小傲12 小时前
京东Java面试被问:Fork/Join框架的使用场景华清远见成都中心12 小时前
嵌入式工程师技术面试有哪些注意事项?沐雪架构师12 小时前
大模型Agent面试精选15题(第三辑)LangChain框架与Agent开发的高频面试题YoungHong199214 小时前
面试经典150题[074]:填充每个节点的下一个右侧节点指针 II(LeetCode 117)元亓亓亓14 小时前
LeetCode热题100--763. 划分字母区间--中等LYFlied14 小时前
【每日算法】LeetCode 70. 爬楼梯:从递归到动态规划的思维演进YoungHong199214 小时前
面试经典150题[073]:从中序与后序遍历序列构造二叉树(LeetCode 106)业精于勤的牙14 小时前
浅谈:算法中的斐波那契数(五)regon15 小时前
第九章 述职11 交叉面试