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
相关推荐
一起养小猫7 小时前
LeetCode100天Day14-轮转数组与买卖股票最佳时机橘颂TA12 小时前
【剑斩OFFER】算法的暴力美学——LeetCode 733 题:图像渲染天真小巫13 小时前
2026.1.18总结FMRbpm13 小时前
树的练习6--------938.二叉搜索树的范围和翔云12345616 小时前
2025年度总结tod11316 小时前
从零手写一个面试级 C++ vector:内存模型、拷贝语义与扩容策略全解析AlenTech17 小时前
152. 乘积最大子数组 - 力扣(LeetCode)a程序小傲17 小时前
中国邮政Java面试被问:Netty的FastThreadLocal优化原理橘颂TA18 小时前
【剑斩OFFER】算法的暴力美学——LeetCode 200 题:岛屿数量猫头虎18 小时前
2026年1月18日11时博客之星投票数据TOP100总排名预测:全网投票总数突破一万大关