使用python编写一个函数,功能是求两个正整数m和
时间: 2024-02-18 19:03:59 浏览: 22
n的最大公约数。可以使用欧几里得算法,代码如下:
```python
def gcd(m, n):
while n != 0:
r = m % n
m = n
n = r
return m
```
在这个函数中,我们不断用较小的数除较大的数,直到余数为0,此时较大的数就是最大公约数。
相关问题
使用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的最大公约数的函数,使用了整除运算符 // 来确保结果为整数。
用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
```