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 分钟前
LeetCode 热题 100——二叉树——二叉树的右视图Swift社区12 分钟前
LeetCode 442 - 数组中重复的数据努力学算法的蒟蒻14 分钟前
day25(12.5)——leetcode面试经典150玩具猴_wjh25 分钟前
快手(安全方向)面试_OP_CHEN1 小时前
【算法基础篇】(二十六)数据结构封神!Trie 树从入门到爆杀算法题:拼音输入法、单词统计都靠它天才测试猿2 小时前
快速定位bug,编写测试用例是苏浙14 小时前
蓝桥杯备战day3月明长歌14 小时前
【码道初阶】一道经典简单题:多数元素(LeetCode 169)|Boyer-Moore 投票算法详解无名修道院18 小时前
渗透测试新手面试高频 50 题:原理 + 标准答案(2025)- 第三篇CoderYanger19 小时前
动态规划算法-斐波那契数列模型:2.三步问题