用python 计算最小公倍数
时间: 2024-10-21 08:05:43 浏览: 12
在Python中计算两个或多个整数的最小公倍数(LCM),你可以利用欧几里得算法(辗转相除法)或者直接使用math库提供的`gcd()`函数来找到最大公约数,然后通过公式 `lcm(a, b) = abs(a * b) // gcd(a, b)` 来求解。以下是两种方法的示例:
**方法一:辗转相除法**
```python
def lcm_two_numbers(a, b):
def gcd(a, b):
while b:
a, b = b, a % b
return a
lcm = a if b == 0 else lcm_two_numbers(b, a % b)
return lcm
# 示例
num1 = int(input("请输入第一个数字:"))
num2 = int(input("请输入第二个数字:"))
print(f"两个数的最小公倍数是:{lcm_two_numbers(num1, num2)}")
```
**方法二:使用math.gcd() 函数**
```python
import math
def lcm_multiple_numbers(numbers):
def lcm(a, b):
return (a * b) // math.gcd(a, b)
result = numbers[0]
for i in range(1, len(numbers)):
result = lcm(result, numbers[i])
return result
# 示例
numbers = [int(n) for n in input("请输入一组数字,用逗号分隔:").split(',')]
print(f"这些数的最小公倍数是:{lcm_multiple_numbers(numbers)}")
```
阅读全文