从键盘输入两个数a,b求出最大公约数和最小公倍数
时间: 2024-10-23 12:08:08 浏览: 20
c代码-输入两个正整数m和n,求其最大公约数和最小公倍数。
计算最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)通常涉及到欧几里得算法(Euclidean Algorithm)来找到两个数的最大公约数,然后利用公式 \( \text{LCM}(a, b) = \frac{|a \times b|}{\text{GCD}(a, b)} \) 来求解最小公倍数。
以下是基本步骤:
1. **获取用户输入**:首先从键盘接收两个整数 a 和 b。
2. **验证输入**:检查输入是否有效,即两个数都是整数。
3. **计算最大公约数**:
- 使用辗转相除法(也叫欧几里得算法),例如对于 a 和 b,取余数 r,如果 r 等于 0,则上一个除数就是最大公约数;否则继续用 b 除以 r。
4. **计算最小公倍数**:
- 由于 |a * b| / GCD(a, b) 永远是一个非负整数,可以直接将两数相乘再除以它们的最大公约数得到结果。
下面是一个简单的 Python 代码示例:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
return abs(a * b) // gcd(a, b)
# 获取用户输入
a = int(input("请输入第一个数: "))
b = int(input("请输入第二个数: "))
# 计算并打印结果
print(f"最大公约数: {gcd(a, b)}")
print(f"最小公倍数: {lcm(a, b)}")
```
阅读全文