用python求俩个数最大公约数和最小公倍数
时间: 2023-07-16 18:14:22 浏览: 120
可以使用辗转相除法求最大公约数,使用最大公约数和两个数的乘积除以最大公约数求最小公倍数。具体代码如下:
```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, b = 24, 36
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
输出结果为:
```
最大公约数为: 12
最小公倍数为: 72
```
相关问题
用python求两个数最大公约数和最小公倍数
你好!这是一个关于数学的问题,让我来回答。求最大公约数可以使用Euclid算法,代码如下:
```
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)
```
希望能帮到你!
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)
```
阅读全文
相关推荐
















