Python用函数求解最小公倍数
时间: 2024-03-06 08:25:00 浏览: 25
可以使用以下代码来求解两个数的最小公倍数:
```python
def lcm(a, b):
# 先求出最大公约数
gcd = lambda x, y: x if not y else gcd(y, x % y)
# 最小公倍数为两数之积除以最大公约数
return a * b // gcd(a, b)
```
其中,`gcd` 函数使用递归实现了求两个数的最大公约数,然后通过两个数的乘积除以最大公约数的方式求出最小公倍数。
你可以通过以下方式来调用该函数:
```python
print(lcm(4, 6)) # 输出 12
print(lcm(10, 15)) # 输出 30
```
相关问题
Python用递归求最小公倍数
可以使用递归函数来求解两个数的最小公倍数。
代码如下:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
return a * b // gcd(a, b)
a = 6
b = 9
print("最小公倍数为:", lcm(a, b))
```
输出结果为:
```
最小公倍数为: 18
```
以上便是使用 Python 递归方法求最小公倍数的代码。
Python求解两个整数的最小公倍数
以下是 Python 代码,使用辗转相除法求解两个整数的最小公倍数:
```python
# 定义函数,求解最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 定义函数,求解最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
# 测试
a = 12
b = 18
print("最小公倍数为:", lcm(a, b)) # 输出 36
```
首先,我们定义了一个求解最大公约数的函数 `gcd()`,使用了辗转相除法的递归实现。然后,我们定义了一个求解最小公倍数的函数 `lcm()`,在函数内部直接调用了 `gcd()` 函数,并使用公式 `a * b // gcd(a, b)` 计算最小公倍数。最后,我们对函数进行了测试,以求解 12 和 18 的最小公倍数,输出结果为 36。