编写程序计算两个正整数m、n的最小公倍数
时间: 2023-05-25 16:02:29 浏览: 37
以下是Python代码实现:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(m, n):
return m * n // gcd(m, n)
# 测试
print(lcm(4, 6)) # 输出12
print(lcm(10, 15)) # 输出30
```
代码解释:
- 首先定义了一个求最大公约数的函数gcd,使用辗转相除法递归地求解;
- 然后定义了一个求最小公倍数的函数lcm,直接利用公式m*n/gcd(m,n)求解;
- 最后进行了简单的测试,检测代码正确性。
相关问题
计算两个数的最大公约数实例,编写程序计算两个正整数m、n的最小公倍数
最大公约数可以通过辗转相除法来计算:
```python
def gcd(m, n):
while n != 0:
m, n = n, m % n
return m
```
最小公倍数可以通过两个数的乘积除以它们的最大公约数来计算:
```python
def lcm(m, n):
return 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("请输入第一个正整数:"))
n = int(input("请输入第二个正整数:"))
print("最大公约数是:", gcd(m, n))
print("最小公倍数是:", lcm(m, n))
```
python编写程序求两个正整数的最小公倍数
可以使用以下的Python代码来求两个正整数的最小公倍数:
```python
def lcm(a, b):
"""求a和b的最小公倍数"""
# 通过求最大公约数来计算最小公倍数
gcd = lambda x, y: x if not y else gcd(y, x % y) # 定义一个求最大公约数的函数
return a * b // gcd(a, b)
# 示例
a = 6
b = 8
print("最小公倍数为:", lcm(a, b))
```
输出结果为:
```
最小公倍数为: 24
```
其中,`gcd`函数使用了递归的方法来求两个数的最大公约数,然后通过两个数的乘积除以最大公约数得到最小公倍数。