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
相关推荐
计算机小白一个19 分钟前
蓝桥杯 Java B 组之设计 LRU 缓存欧了1112 小时前
洛谷P9240 [蓝桥杯 2023 省 B] 冶炼金属qy发大财3 小时前
加油站(力扣134)qy发大财3 小时前
柠檬水找零(力扣860)计算机小白一个7 小时前
蓝桥杯 Java B 组之背包问题、最长递增子序列(LIS)SuperW8 小时前
蓝桥杯——lcd显示gyeolhada10 小时前
2025蓝桥杯JAVA编程题练习Day5StickToForever12 小时前
第4章 信息系统架构(三)SylviaW0812 小时前
python-leetcode 35.二叉树的中序遍历篮l球场12 小时前
LeetCodehot 力扣热题100