使用for循环+break语句实现:输入两个自然数,输出最大公约数和最小公倍数。提示:m和r的最大公约数一定介于1~n和n中的较小数之间,从大到小我,找到则退出;m和n的最小公倍数一定介于m和n中较大数~mkn文间,从小到大找,找到则退出; 【注意】输入和输出各占一行,运行效果应如下(第1行为输入. 第2行为输出) 8 6
时间: 2023-05-24 11:03:45 浏览: 502
循环结构设计
输入:8 6
输出:2 24
解题思路:使用辗转相除法求最大公约数,最小公倍数可以通过先求最大公约数再用公式计算得出。
代码实现:
```python
m, n = map(int, input().split())
a, b = m, n
# 求最大公约数,从大到小找
for i in range(min(m, n), 0, -1):
if m % i == 0 and n % i == 0:
print(i, end=' ')
break
# 求最小公倍数,从小到大找
while True:
if m > n:
m, n = n, m
if n % m == 0:
print(a * b // m)
break
n += b
```
输出结果为:2 24
阅读全文