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
相关推荐
Naive_79 小时前
蓝桥杯准备(前缀和差分)ChoSeitaku10 小时前
NO.63十六届蓝桥杯备战|基础算法-⼆分答案|木材加工|砍树|跳石头(C++)爱爬山的老虎11 小时前
【面试经典150题】LeetCode121·买卖股票最佳时机雾月5512 小时前
LeetCode 914 卡牌分组想跑步的小弱鸡12 小时前
Leetcode hot 100(day 4)xuanjiong12 小时前
纯个人整理,蓝桥杯使用的算法模板day2(0-1背包问题),手打个人理解注释,超全面,且均已验证成功(附带详细手写“模拟流程图”,全网首个你今天刷题了吗?13 小时前
蓝桥杯练习:翻转二叉树高 朗14 小时前
2025高频面试设计模型总结篇想跑步的小弱鸡19 小时前
Leetcode hot 100(day 3)小样vvv1 天前
【面试篇】JVM