在 Python 中,你可以使用 `math.gcd` 函数来计算两个数的最大公约数(GCD),然后利用这个最大公约数来计算两个数的最小公倍数(LCM)。以下是一个简单的 Python 程序,用于计算两个数的最小公倍数:
from math import gcd
def lcm(a, b):
return abs(a * b) // gcd(a, b)
获取用户输入
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
计算并打印最小公倍数
print("最小公倍数是:", lcm(a, b))
如果你需要计算多个数的最小公倍数,可以使用 `functools.reduce` 函数结合 `lcm` 函数,如下所示:
from functools import reduce
from math import gcd
def lcm(a, b):
return abs(a * b) // gcd(a, b)
获取用户输入的多个数
numbers = list(map(int, input("请输入多个自然数,以空格分隔:").split()))
计算并打印最小公倍数
print("最小公倍数是:", reduce(lcm, numbers))
以上代码首先导入了 `math.gcd` 函数和 `functools.reduce` 函数。`lcm` 函数接受两个参数 `a` 和 `b`,并返回它们的最小公倍数。`reduce` 函数接受一个函数和一个可迭代对象,将函数累积地应用于可迭代对象的所有元素上,从而计算出整个列表的最小公倍数。
请输入两个或多个自然数,程序将计算并输出它们的最小公倍数。