编写函数gcd(m,n),计算并返回参数m和n的最大公约数和最小公倍数python
时间: 2023-05-08 12:01:14 浏览: 247
用python编写两个正整数的最大公约数和最小公倍数的小程序
在Python中编写函数gcd(m,n),计算并返回参数m和n的最大公约数和最小公倍数可以通过使用辗转相除法来实现。这种方法是一种简单而有效的算法,它利用了两个数的余数来计算它们的最大公约数和最小公倍数。
最大公约数可以通过如下代码实现:
```
def gcd(m, n):
if m < n:
m, n = n, m
while n > 0:
m, n = n, m % n
return m
```
这个函数首先将m和n中较大的数赋值给m,较小的数赋值给n。然后在while循环中,如果n为0,则函数返回m。否则,函数使用“辗转相除”的方法计算m和n的余数,并用n来更新它们的值,然后继续循环,直到n为0为止。最终,函数返回m,即为两数的最大公约数。
最小公倍数可以通过如下代码实现:
```
def lcm(m, n):
return m * n // gcd(m, n)
```
这个函数使用先前定义的gcd(m, n)函数来计算最大公约数。然后它所要计算的最小公倍数就是(m*n)//gcd(m,n),即m和n的乘积除以它们的最大公约数。
因此,调用gcd(m, n)函数可以得到m和n的最大公约数,而调用lcm(m, n)函数可以得到它们的最小公倍数。
阅读全文