Python输入两个正整数 m 和 n,输出其最大公约数和最小公倍数。要求:综合使用分支、循环结构语句实现。
时间: 2023-12-10 12:39:26 浏览: 124
可以使用欧几里得算法来求最大公约数,即用较小数去除较大数,再用余数去除较小数,直到余数为0,此时较小数即为最大公约数。最小公倍数可以用两数之积除以最大公约数得到。
下面是代码实现:
```python
m = int(input("请输入第一个正整数:"))
n = int(input("请输入第二个正整数:"))
# 求最大公约数
if m > n:
m, n = n, m # 交换m和n的值,使得m <= n
for i in range(m, 0, -1):
if m % i == 0 and n % i == 0:
gcd = i
break
# 求最小公倍数
lcm = m * n // gcd
print(f"{m}和{n}的最大公约数为:{gcd}")
print(f"{m}和{n}的最小公倍数为:{lcm}")
```
示例输入:
```
请输入第一个正整数:24
请输入第二个正整数:36
```
示例输出:
```
24和36的最大公约数为:12
24和36的最小公倍数为:72
```
阅读全文