Python用函数求解最小公倍数
时间: 2024-03-06 13:25:00 浏览: 60
可以使用以下代码来求解两个数的最小公倍数:
```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):
"""
辗转相除法求最大公约数
"""
while b:
a, b = b, a % b
return a
def lcm(a, b):
"""
求最小公倍数
"""
return a * b // gcd(a, b)
```
这里我们定义了两个函数,`gcd()` 用于求解最大公约数,`lcm()` 用于求解最小公倍数。在 `gcd()` 函数中,我们使用辗转相除法求解最大公约数。在 `lcm()` 函数中,我们先调用 `gcd()` 函数求出两个数的最大公约数,然后将两个数相乘除以最大公约数得到最小公倍数。
下面是一个例子,演示如何使用这两个函数来求解最小公倍数:
```python
a = 36
b = 48
print(f"最小公倍数为 {lcm(a, b)}")
```
输出结果为:
```
最小公倍数为 144
```
即 36 和 48 的最小公倍数为 144。
阅读全文