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
相关推荐
天真小巫2 小时前
2025.6.27总结Memories off9 天前
实习/秋招记录:软件开发转AI或安全一入JAVA毁终身9 天前
针对我的简历模拟面试挑战者6668889 天前
如何制定团队制度?呆呆的小鳄鱼10 天前
leetcode:746. 使用最小花费爬楼梯minos.cpp10 天前
从厨房到代码台:用做菜思维理解iOS开发 - Swift入门篇①YuTaoShao10 天前
【LeetCode 热题 100】42. 接雨水——(解法一)前后缀分解岁忧10 天前
第十六届蓝桥杯C/C++程序设计研究生组国赛 国二呆呆的小鳄鱼10 天前
leetcode:98. 验证二叉搜索树岁忧10 天前
(LeetCode 面试经典 150 题) 80. 删除有序数组中的重复项 II (双指针、栈)