用python求m和n的最大公约数和最小公倍数
时间: 2024-05-09 08:18:38 浏览: 17
可以使用辗转相除法来求两个数的最大公约数,而最小公倍数可以通过两个数的乘积除以它们的最大公约数来得到。
以下是使用Python实现的代码:
```python
def gcd(m, n):
while n != 0:
m, n = n, m % n
return m
def lcm(m, n):
return m * n // gcd(m, n)
m = 24
n = 36
print("最大公约数:", gcd(m, n))
print("最小公倍数:", lcm(m, n))
```
输出结果为:
```
最大公约数: 12
最小公倍数: 72
```
相关问题
用python输入整数m和n求最大公约数和最小公倍数
可以使用辗转相除法(欧几里得算法)求最大公约数,最小公倍数则可以通过最大公约数求得。
代码如下:
```python
m = int(input("请输入第一个数:"))
n = int(input("请输入第二个数:"))
# 求最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 求最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
print("最大公约数为:", gcd(m, n))
print("最小公倍数为:", lcm(m, n))
```
运行结果:
```
请输入第一个数:24
请输入第二个数:36
最大公约数为: 12
最小公倍数为: 72
```
Python求两个数m和n的最大公约数和最小公倍数
可以使用辗转相除法来求两个数的最大公约数,同时根据最大公约数和两个数的乘积可以求出最小公倍数。
以下是Python代码实现:
```python
def gcd(m, n):
"""
求最大公约数
"""
while n != 0:
m, n = n, m % n
return m
def lcm(m, n):
"""
求最小公倍数
"""
return m * n // gcd(m, n)
# 测试
print(gcd(24, 36)) # 输出 12
print(lcm(24, 36)) # 输出 72
```
其中,`gcd`函数使用了辗转相除法,不断将较大数除以较小数求余数,直到余数为0,此时较小数就是最大公约数。`lcm`函数则利用最大公约数和两个数的乘积来求最小公倍数。