用python编写一个函数,功能是求两个正整数m和n的最小公倍数
时间: 2024-05-15 08:19:24 浏览: 34
可以使用辗转相除法求最大公约数(gcd),然后通过公式m*n/gcd(m,n)求得最小公倍数(lcm)。
代码如下:
```python
def lcm(m, n):
# 辗转相除法求最大公约数
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
# 求最小公倍数
return m * n // gcd(m, n)
```
使用示例:
```python
print(lcm(4, 6)) # 12
print(lcm(7, 13)) # 91
```
相关问题
使用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
```
希望能对您有所帮助!
阅读全文