用python编程求出两个数的最大公约数和最小公倍数
时间: 2024-10-16 21:17:40 浏览: 179
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
在Python中,可以使用欧几里得算法(Euclidean algorithm)来计算两个数的最大公约数(Greatest Common Divisor, GCD),然后利用最大公约数来找出最小公倍数(Least Common Multiple, LCM)。以下是具体的步骤:
1. **求最大公约数(GCD)**:
使用`math.gcd()`函数,或者自己实现循环版本,如:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
```
2. **求最小公倍数(LCM)**:
最小公倍数可以通过下面的公式计算,因为 `a * b = gcd(a, b) * lcm(a, b)`:
```python
def lcm(a, b):
return abs(a*b) // gcd(a, b)
```
如果你有两个数`num1`和`num2`,可以像这样使用这两个函数:
```python
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
gcd_value = gcd(num1, num2)
lcm_value = lcm(num1, num2)
print(f"最大公约数(GCD): {gcd_value}")
print(f"最小公倍数(LCM): {lcm_value}")
```
阅读全文