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 小时前
LeetCode 刷题【61. 旋转链表】墨染点香4 小时前
LeetCode 刷题【65. 有效数字】汉克老师5 小时前
第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(1、求和)小欣加油6 小时前
leetcode 6 Z字形变化青鱼入云7 小时前
【面试场景题】spring应用启动时出现内存溢出怎么排查緈福的街口9 小时前
【leetcode】77.组合快去睡觉~10 小时前
力扣152:乘积最大子数组保卫大狮兄10 小时前
连锁零售企业如何能更有效地管理门店考勤?快去睡觉~11 小时前
力扣416:分割等和子集仙俊红11 小时前
LeetCode每日一题,2025-9-5