用python编写一个函数,功能是求两个正整数m和n的最小公倍数
时间: 2023-12-03 07:42:20 浏览: 159
可以使用以下代码实现:
```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编写一个函数,功能是求两个正整数m和n的最小公倍数
求两个正整数m和n的最小公倍数,可以利用它们的最大公约数求解,公式为:m × n / gcd(m, n)。因此,我们可以在上一个问题的基础上,稍作修改得到下面的代码:
```python
def lcm(m, n):
return m * n // gcd(m, n)
```
其中,gcd(m, n)是求m和n的最大公约数的函数,使用了整除运算符 // 来确保结果为整数。
编写一个函数,功能是求两个正整数 m 和 n 的最大公约数和最小公倍数,调用该函数,输出最大公约数和最小公倍数。python
以下是 Python 代码实现:
```python
def gcd_lcm(m, n):
"""
求两个正整数 m 和 n 的最大公约数和最小公倍数
"""
# 先求最大公约数
max_val = max(m, n)
min_val = min(m, n)
while min_val != 0:
tmp = max_val % min_val
max_val = min_val
min_val = tmp
gcd = max_val
# 再求最小公倍数
lcm = m * n // gcd
return gcd, lcm
# 调用函数并输出结果
m = 12
n = 18
res = gcd_lcm(m, n)
print("最大公约数:", res[0])
print("最小公倍数:", res[1])
```
输出结果为:
```
最大公约数: 6
最小公倍数: 36
```
希望能对您有所帮助!
阅读全文