本关任务:输入两个整数m和n,求其最大公约数和最小公倍数。
时间: 2023-06-10 16:07:46 浏览: 96
好的,可以使用辗转相除法和公式法来分别计算最大公约数和最小公倍数。
先来看辗转相除法:
最大公约数(gcd)可以通过辗转相除法求得,具体步骤如下:
1. 将较大的数用较小的数去除,得到余数。
2. 用上一步得到的余数去除较小的数,再得到余数,重复此步骤,直到余数为0,此时,较小的数即为两数的最大公约数。
代码如下:
```python
def gcd(m, n):
if n == 0:
return m
else:
return gcd(n, m % n)
```
接下来看公式法:
最小公倍数(lcm)可以通过最大公约数求得。公式为:
lcm = m * n / gcd(m, n)
代码如下:
```python
def lcm(m, n):
return m * n // gcd(m, n)
```
完整代码如下:
```python
def gcd(m, n):
if n == 0:
return m
else:
return gcd(n, m % n)
def lcm(m, n):
return m * n // gcd(m, n)
m = int(input("请输入第一个整数m:"))
n = int(input("请输入第二个整数n:"))
print("最大公约数为:", gcd(m, n))
print("最小公倍数为:", lcm(m, n))
```
运行程序,输入两个整数m和n,即可得到它们的最大公约数和最小公倍数。
阅读全文