Python求解三个正整数的最小公倍数
时间: 2024-12-15 08:08:05 浏览: 17
在Python中,计算三个正整数的最小公倍数(LCM)通常需要先找到其中两个数的最大公约数(GCD),然后利用公式 `LCM(a, b) = |a * b| / GCD(a, b)`。对于三个数,可以先计算前两个数的LCM,然后再与第三个数计算新的LCM。这里有一个简单的步骤:
1. 定义一个函数来计算两个数的最大公约数,你可以使用欧几里得算法(Euclidean algorithm)或辗转相除法:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
```
2. 写一个函数来计算三个数的最小公倍数:
```python
def lcm_three_numbers(a, b, c):
# 先计算前两个数的LCM
temp_lcm = lcm(a, b)
# 然后计算这个临时结果和c的LCM
return lcm(temp_lcm, c)
# 定义一个通用的lcm函数,如果只有一个数,直接返回该数
def lcm(a, b):
return abs(a * b) // gcd(a, b)
```
现在你可以调用`lcm_three_numbers()`函数并传入三个正整数来获取它们的最小公倍数。例如:
```python
num1 = 4
num2 = 6
num3 = 8
result = lcm_three_numbers(num1, num2, num3)
print(f"三个数 {num1}, {num2} 和 {num3} 的最小公倍数是 {result}")
阅读全文