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
相关推荐
007php0075 小时前
某大厂跳动面试:计算机网络相关问题解析与总结我命由我123459 小时前
Photoshop - Photoshop 工具栏(10)透视裁剪工具红衣小蛇妖10 小时前
LeetCode-704-二分查找程序员小远11 小时前
常用的测试用例闻缺陷则喜何志丹19 小时前
【C++贪心】P8769 [蓝桥杯 2021 国 C] 巧克力|普及+躬身入世,以生证道1 天前
面试技术栈 —— 简历篇Asmalin1 天前
【代码随想录day 35】 力扣 01背包问题 一维Miraitowa_cheems2 天前
LeetCode算法日记 - Day 64: 岛屿的最大面积、被围绕的区域_不会dp不改名_2 天前
leetcode_1382 将二叉搜索树变平衡树旭意2 天前
C++微基础备战蓝桥杯之数组篇10.1