python求两个数的最小公倍数公式
时间: 2023-07-11 20:09:54 浏览: 76
两个数的最小公倍数可以通过它们的乘积除以它们的最大公约数来计算。因此,可以使用 Python 内置的 math 模块来计算最大公约数,然后使用以下公式来计算最小公倍数:
```python
import math
def lcm(a, b):
return abs(a*b) // math.gcd(a, b)
```
其中,`math.gcd(a, b)` 返回 `a` 和 `b` 的最大公约数。`abs(a*b)` 用于防止结果为负数。
相关问题
python求两数字的最小公倍数
可以使用Python中的math库中的gcd函数来求两个数字的最大公约数,然后使用上面提到的公式求最小公倍数。具体代码如下:
```python
import math
def lcm(a, b):
gcd = math.gcd(a, b)
return a * b // gcd
# 示例
print(lcm(10, 15)) # 输出30
```
这里的lcm函数接受两个参数a和b,先使用math.gcd函数求出它们的最大公约数,再用上面提到的公式求出最小公倍数。最后通过print函数输出结果。
Python求两个数最大公约数和最小公倍数
在Python中,我们可以使用数学库math或者直接通过算法来计算两个数的最大公约数(Greatest Common Divisor,GCD)和最小公倍数(Least Common Multiple,LCM)。这里简单介绍两种常见方法:
**1. math.gcd()函数**
如果你需要快速得到两个数的最大公约数,可以使用`math.gcd(a, b)`函数,它返回a和b的最大公约数。
```python
import math
a = 48
b = 18
gcd = math.gcd(a, b)
print("最大公约数 (GCD):", gcd)
# 计算最小公倍数 (LCM) 可以通过 GCD 和两数相乘再除以 GCD 来计算
lcm = a * b // gcd
print("最小公倍数 (LCM):", lcm)
```
**2. 自己编写算法**
也可以手动编写欧几里得算法(Euclidean Algorithm)来计算GCD,然后利用公式 `lcm(a, b) = |a*b| / gcd(a, b)` 来求取LCM。
```python
def gcd_euclid(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
return abs(a * b) // gcd_euclid(a, b)
a, b = 48, 18
gcd_value = gcd_euclid(a, b)
lcm_value = lcm(a, b)
print("最大公约数 (GCD):", gcd_value)
print("最小公倍数 (LCM):", lcm_value)
```
阅读全文