首页 > 文章列表 > python中求取最小公倍数的两种方法

python中求取最小公倍数的两种方法

Python最小公倍数
243 2022-08-07

最小公倍数是两个数共有倍数中最小的那个,我们在数学计算中有求取的方法,而在Python算法中也有求取最小公倍数的方法。本文主要介绍Python中公式法和质因数分解法两种求取最小公倍数的方法。

方法一:公式法

def lcm(a, b):
    for i in range(min(a,b),0,-1):
        if a % i ==0 and b % i == 0:
            return a*b//i

num1 = int(input(""))
num2 = int(input(""))
print(lcm(num1, num2))

方法二:质因数分解法

def lcm(a, b):
    """质因数分解"""
    p = 1
    i = 2
    while i <= min(a, b):
        if a % i == 0 and b % i == 0:
            p *= i
            a, b = a // i, b // i
        else:
            i += 1
    p = p * a * b
    return p
print(lcm(45, 30))
 
 
# 若是计算多个数的最小公倍数
a = [12, 30, 50]
s = a[0]
for i in a:
    s = lcm(s, i)
print(s)