使用python编写一个函数,功能是求两个正整数m和n的最小公倍数
时间: 2024-02-18 11:04:00 浏览: 83
求两个正整数m和n的最小公倍数,可以利用它们的最大公约数求解,公式为:m × n / gcd(m, n)。因此,我们可以在上一个问题的基础上,稍作修改得到下面的代码:
```python
def lcm(m, n):
return m * n // gcd(m, n)
```
其中,gcd(m, n)是求m和n的最大公约数的函数,使用了整除运算符 // 来确保结果为整数。
相关问题
用python编写一个函数,功能是求两个正整数m和n的最小公倍数
可以使用以下代码实现:
```python
def lcm(m, n):
"""
求两个正整数m和n的最小公倍数
"""
# 辗转相除法求最大公约数
def gcd(x, y):
if y == 0:
return x
else:
return gcd(y, x % y)
return m * n // gcd(m, n)
```
其中,`gcd` 函数使用了辗转相除法求最大公约数,最小公倍数则可以用两数之积除以最大公约数得到。具体实现中,使用了整除符号 `//` 来表示整除运算,确保最终结果为整数。
可以通过以下代码进行测试:
```python
print(lcm(4, 6)) # 输出 12
print(lcm(9, 15)) # 输出 45
```
python中编写一个函数,求两个正整数的最小公倍数
可以使用以下代码实现求两个正整数的最小公倍数:
```python
def lcm(x, y):
# 选择较大的数
if x > y:
greater = x
else:
greater = y
while True:
# 如果greater同时是x和y的倍数,则为它们的最小公倍数
if greater % x == 0 and greater % y == 0:
lcm = greater
break
greater += 1
return lcm
```
函数中使用了一个while循环,不断增加一个大于等于两个数中较大的数greater,如果greater同时是这两个数x和y的倍数,则为它们的最小公倍数。最后返回最小公倍数lcm。
阅读全文