python写代码求两个数的或多个数的最大公约数和最小公倍数
时间: 2023-06-19 12:08:55 浏览: 127
输入两个正整数m和n,求其最大公约数和最小公倍数
最大公约数(GCD)和最小公倍数(LCM)可以用辗转相除法来求解。以下是求两个数的GCD和LCM的Python代码:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
```
对于多个数的GCD和LCM,可以使用递归的方式来处理。以下是求多个数的GCD和LCM的Python代码:
```python
def gcd_list(numbers):
if len(numbers) == 2:
return gcd(numbers[0], numbers[1])
else:
return gcd(numbers[0], gcd_list(numbers[1:]))
def lcm_list(numbers):
if len(numbers) == 2:
return lcm(numbers[0], numbers[1])
else:
return lcm(numbers[0], lcm_list(numbers[1:]))
```
其中,`numbers`是一个包含多个数的列表。
阅读全文