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
相关推荐
测试界的海飞丝6 小时前
10道软件测试面试题及其答案:小白程序员成长日记7 小时前
2025.11.24 力扣每日一题资深web全栈开发13 小时前
LeetCode 1015. 可被 K 整除的最小整数 - 数学推导与鸽巢原理CoderYanger14 小时前
优选算法-队列+宽搜(BFS):72.二叉树的最大宽度Hacker_Oldv18 小时前
Python技能进阶:探索Selenium库,实现网页自动化测试与爬虫Hacker_Oldv21 小时前
API 自动化测试难点总结与分享czlczl200209251 天前
算法:组合问题CoderYanger1 天前
优选算法-字符串:63.二进制求和CoderYanger1 天前
优选算法-栈:67.基本计算器Ⅱ덕화1 天前
【面试宝典】线上问题逆向分析1