蓝桥杯刷题--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")

相关推荐
Warren984 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
橘颂TA6 小时前
【剑斩OFFER】算法的暴力美学——两整数之和
算法·leetcode·职场和发展
程序员小远9 小时前
Appium-移动端自动测试框架详解
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
元亓亓亓12 小时前
LeetCode热题100--79. 单词搜索
算法·leetcode·职场和发展
CoderYanger18 小时前
优选算法-栈:69.验证栈序列
java·开发语言·算法·leetcode·职场和发展·1024程序员节
我还可以再学点19 小时前
八股文面试攻略六:分布式和集群
分布式·面试·职场和发展
小欣加油21 小时前
leetcode 64 最小路径和
c++·算法·leetcode·职场和发展·动态规划
资深web全栈开发1 天前
LeetCode 1262. 可被三整除的最大和 - 解题思路与代码
算法·leetcode·职场和发展
AAA阿giao1 天前
大厂面试之反转字符串:深入解析与实战演练
前端·javascript·数据结构·面试·职场和发展·编程技巧