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
相关推荐
轮到我狗叫了2 小时前
力扣310.最小高度树(拓扑排序,无向图),力扣.加油站力扣.矩阵置零力扣.二叉树中的最大路径和wuqingshun3141592 小时前
经典算法 (A/B) mod C爱coding的橙子2 小时前
算法刷题Day9 5.18:leetcode定长滑动窗口3道题,结束定长滑动窗口,用时1h卓律涤3 小时前
【找工作系列①】【大四毕业】【复习】巩固JavaScript,了解ES6。wuqingshun31415915 小时前
蓝桥杯 16. 外卖店优先级咚咚轩15 小时前
蓝桥杯11届国B 答疑緈福的街口16 小时前
【leetcode】2900. 最长相邻不相等子序列 Isupingemail19 小时前
面试之 Java 新特性 一览表诸葛大钢铁1 天前
如何免费在线PDF转换成Excel测试者家园1 天前
用 VS Code / PyCharm 编写你的第一个 Python 程序