python编程:输入两个正整数,求它们的最小公倍数
时间: 2023-05-30 20:02:34 浏览: 456
可以使用以下代码来求两个正整数的最小公倍数:
```python
# 定义函数来求最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 输入两个正整数
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
# 求最小公倍数
lcm = a * b // gcd(a, b)
# 输出结果
print("最小公倍数为:", lcm)
```
解释:
1. 首先定义了一个求最大公约数的函数 `gcd`,使用递归算法实现。
2. 接着输入两个正整数 `a` 和 `b`。
3. 根据最小公倍数的定义,可以用两个数的乘积除以它们的最大公约数来求得最小公倍数。
4. 最后输出结果。
注意:在 Python 3 中,整数除法 `//` 可以得到整除的结果。
相关问题
//编程14:输入两个正整数m和n,求最大公约数和最小公倍数。
在编程中,计算两个正整数的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是一个常见的数学问题。这两个值对于理解两个数之间的关系非常重要。以下是使用欧几里得算法(Euclidean Algorithm)求最大公约数的基本步骤:
**求最大公约数 (GCD):**
1. 如果 `n` 等于 0,则 `m` 就是 GCD,因为任何数除以0都是未定义的。
2. 否则,将 `m` 和 `n` 中的较小值赋给 `n`,较大的值赋给 `m`。
3. 重复步骤1和2,直到 `n` 变为 0。
**求最小公倍数 (LCM):**
1. 首先,计算两数的最大公约数(已经通过上述方法得到)。
2. 最小公倍数等于两数乘积除以它们的最大公约数。
如果你需要具体的代码示例,这里是一个简单的Python版本:
```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_val = gcd(m, n)
lcm_val = lcm(m, n)
print(f"最大公约数 (GCD): {gcd_val}")
print(f"最小公倍数 (LCM): {lcm_val}")
Python用户通过键盘输入两个正整数,编程求这两个正整数的最小公倍数和最大公约数,并输出结果。
可以使用辗转相除法来求最大公约数,使用最小公倍数等于两数之积除以最大公约数的公式来求最小公倍数。具体实现如下:
```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 = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
运行程序后,输入两个正整数即可得到输出结果。
阅读全文