求多个数的最大公倍数(lcm+gcd)
class Solution():
def get_lcm(self, x):
#请在此添加代码,实现求出给定的所有正整数的最小公倍数,并将其返回
#********** Begin *********#
def gcd(x,y):#求最大公约数,欧几里得算法辗转相除法
return x if y==0 else gcd(y,x%y)
def lcm(x,y):
return x // gcd(x,y) * y#lcmlcm算法:x//y表示x除以y的商再取int()函数
ans = x[0]
for index in range(len(x)-1):
x[index+1]=lcm(x[index],x[index+1])
ans = max(ans,x[index+1])
return ans
#********** End **********#
pass