用python写一个程序:输入两个正整数m和n,求其最大公约数和最小公倍数。 提示:在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮 循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
时间: 2023-05-17 08:04:46 浏览: 71
以下是用 Python 编写的程序,可以输入两个正整数 m 和 n,求其最大公约数和最小公倍数:
```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 = int(input("请输入第一个正整数:"))
n = int(input("请输入第二个正整数:"))
print("最大公约数为:", gcd(m, n))
print("最小公倍数为:", lcm(m, n))
```
如果你有任何问题或需要进一步解释,请随时问我。
相关问题
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
```
:编写程序:输人两个正整数m和n,求其最大公约数和最小公倍数
以下是Python编写求最大公约数和最小公倍数的程序:
```python
# 定义函数,求最大公约数
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)
# 输入两个正整数
m, n = map(int, input("请输入两个正整数,并用逗号连接:").split(","))
# 输出最大公约数和最小公倍数
print(str(m) + "和" + str(n) + "的最大公约数是:" + str(gcd(m, n)))
print(str(m) + "和" + str(n) + "的最小公倍数是:" + str(lcm(m, n)))
```
阅读全文