编程题(5)输入两个正整数m和n,求其最大公约数和最小公倍数。 提示:在循环中,用较大数(初始值为m、n中的较大数)除以较小的数(初始值为m、n中的较小数),然后将小的一个数作为下一轮循环中较大的数,较大数除以较小数所取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0时,返回较大的数,此数即为m和n的最大公约数。最小公倍数为两数之积除以最大公约数。
时间: 2023-05-16 22:04:56 浏览: 74
答案:
```python
m = int(input("请输入第一个正整数m:"))
n = int(input("请输入第二个正整数n:"))
# 求最大公约数
a = max(m, n)
b = min(m, n)
while b != 0:
a, b = b, a % b
gcd = a
# 求最小公倍数
lcm = m * n // gcd
print("最大公约数为:", gcd)
print("最小公倍数为:", lcm)
```
输出:
```
请输入第一个正整数m:12
请输入第二个正整数n:18
最大公约数为: 6
最小公倍数为: 36
```
阅读全文