用python求两个整数m和n,求最大公约数和最小公倍数
时间: 2024-05-15 18:01:28 浏览: 92
可以使用辗转相除法来求解最大公约数,即:
```python
def gcd(m, n):
while n:
m, n = n, m % n
return m
```
其中,`m % n` 表示 m 除以 n 的余数。
最小公倍数可以通过最大公约数求得,即 `m * n / gcd(m, n)`。
完整代码如下:
```python
def gcd(m, n):
while n:
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,求其最大公约数和最小公倍数,最大公约数 最小公倍数。
可以使用辗转相除法求解最大公约数,公式如下:
gcd(m, n) = gcd(n, m % n) (m > n)
当 m % n = 0 时,n 即为最大公约数。
最小公倍数可以使用以下公式求解:
lcm(m, n) = m * n / gcd(m, n)
下面是 Python 代码实现:
```python
m = int(input("请输入第一个正整数:"))
n = int(input("请输入第二个正整数:"))
# 求最大公约数
def gcd(m, n):
if m < n:
m, n = n, m
while n != 0:
r = m % n
m = n
n = r
return m
# 求最小公倍数
def lcm(m, n):
return m * n // gcd(m, n)
print("最大公约数为:", gcd(m, n))
print("最小公倍数为:", lcm(m, n))
```
运行结果:
```
请输入第一个正整数:24
请输入第二个正整数:36
最大公约数为: 12
最小公倍数为: 72
```
python求出 求两个正整数m和n的最大公约数和最小公倍数。
您好,关于您的问题,以下是Python代码实现:
```python
def gcd(m, n):
if m < n:
m, n = n, m
while n != 0:
temp = m % n
m, n = n, temp
return m
def lcm(m, n):
return m * n // gcd(m, n)
m = int(input('请输入第一个正整数:'))
n = int(input('请输入第二个正整数:'))
print('最大公约数为:', gcd(m, n))
print('最小公倍数为:', lcm(m, n))
```
输入两个正整数,程序会输出它们的最大公约数和最小公倍数。
谢谢您的提问,希望能为您解答问题!
阅读全文