蓝桥杯刷题--python-36

4199. 公约数 - AcWing题库

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")

相关推荐
雷神大青椒20 分钟前
离别的十字路口: 是否还记得曾经追求的梦想
人工智能·程序人生·职场和发展·玩游戏
小白程序员成长日记2 小时前
2025.11.12 力扣每日一题
算法·leetcode·职场和发展
Kuo-Teng4 小时前
LeetCode 198: House Robber
java·算法·leetcode·职场和发展·动态规划
橘颂TA5 小时前
【剑斩OFFER】算法的暴力美学——除自身以外数组的乘积
算法·leetcode·职场和发展·结构与算法
铭哥的编程日记6 小时前
深入浅出蓝桥杯:算法基础概念与实战应用(三)搜索
算法·蓝桥杯·深度优先
怕什么真理无穷7 小时前
C++_面试15_零拷贝
c++·面试·职场和发展
Espresso Macchiato7 小时前
Leetcode 3748. Count Stable Subarrays
算法·leetcode·职场和发展·leetcode hard·leetcode 3748·leetcode周赛476·区间求和
天真小巫7 小时前
2025.11.17总结
职场和发展