Python基础之综合练习一最小公倍数算法
时间: 2024-12-20 20:17:38 浏览: 4
试题 算法训练 5-1最小公倍数(python)
5星 · 资源好评率100%
在Python中,计算两个或多个整数的最小公倍数(LCM,Least Common Multiple)通常涉及使用数学原理,特别是欧几里得算法(辗转相除法),因为两个数的乘积等于它们的最大公约数(GCD,Greatest Common Divisor)和最小公倍数的乘积。以下是使用Python编写的一个简单函数,用于计算最小公倍数:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
return abs(a * b) // gcd(a, b)
# 要计算n个数的最小公倍数,可以稍作调整,比如这样:
def lcm_multiple(numbers):
result = numbers[0]
for i in range(1, len(numbers)):
result = lcm(result, numbers[i])
return result
# 示例
numbers = [4, 6, 8] # 输入一组数字
print("最小公倍数是:", lcm_multiple(numbers))
```
在这个例子中,`gcd`函数用于求两个数的最大公约数,然后`lcm`函数通过公式 `lcm(a, b) = |a * b| / gcd(a, b)` 计算最小公倍数。`lcm_multiple`函数则处理任意数量的数字。
阅读全文