输入两个整数m和n求最大公约数和最小公倍数
时间: 2024-09-30 19:10:56 浏览: 36
求最大公约数和最小公倍数
输入两个整数`m`和`n`,求最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM),可以通过欧几里得算法来计算最大公约数,然后利用公式 `GCD(a, b) * LCM(a, b) = |a * b|` 来计算最小公倍数。以下是步骤:
1. **计算最大公约数** (GCD):
- 如果 `n == 0`,则 `GCD(m, n) = m`,因为任何数和0的最大公约数都是该数本身。
- 否则,递归地应用 `GCD(n, m % n)`。
2. **计算最小公倍数** (LCM):
- 使用上面得到的 `GCD` 和原始的 `m` 和 `n` 计算 `LCM`,即 `LCM = (m * n) / GCD(m, n)`。
以下是这个过程的一个简单示例:
```python
def gcd(m, n):
while n != 0:
m, n = n, m % n
return m
def lcm(m, n):
return (m * n) // gcd(m, n)
# 示例
m = int(input("请输入第一个整数m:"))
n = int(input("请输入第二个整数n:"))
gcd_value = gcd(m, n)
lcm_value = lcm(m, n)
print(f"最大公约数(GCD): {gcd_value}")
print(f"最小公倍数(LCM): {lcm_value}")
阅读全文