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
相关推荐
CHTXRT1 小时前
2025第十六届蓝桥杯大赛(软件赛)网络安全赛 Writeup编码小笨猪3 小时前
技术面试一面标准流程每次的天空6 小时前
Android第三次面试总结(网络篇)梁下轻语的秋缘15 小时前
每日c/c++题 备战蓝桥杯(P1049 [NOIP 2001 普及组] 装箱问题)wuqingshun31415915 小时前
蓝桥杯 5. 交换瓶子Demons_kirit16 小时前
Leetcode 2845 题解宝耶18 小时前
面试常问问题:Java基础篇triticale20 小时前
【蓝桥杯】画展布置Y1nhl20 小时前
力扣hot100_链表(3)_python版本前端 贾公子21 小时前
详解 LeetCode 第 242 题 - 有效的字母组