python程序题第1题:输入二正整数m、n,求这二个数的最大公约数,要求使用递归f(m,n),其返回的是这二个整数的最大公约数。
时间: 2024-02-03 20:13:49 浏览: 74
用递归算法实现两个整数最大公约数的计算
3星 · 编辑精心推荐
以下是实现最大公约数的 Python 代码,使用了递归算法:
```python
def gcd(m, n):
if n == 0:
return m
else:
return gcd(n, m % n)
m = int(input("请输入第一个正整数:"))
n = int(input("请输入第二个正整数:"))
print("最大公约数为:", gcd(m, n))
```
首先定义了一个 `gcd` 函数,接受两个参数 `m` 和 `n`,返回它们的最大公约数。
在函数内部,如果 `n` 等于 0,那么直接返回 `m`,因为此时 `m` 就是最大公约数。
否则,就递归调用 `gcd` 函数,传入参数 `n` 和 `m % n`,这样就把问题规约成了求 `n` 和 `m % n` 的最大公约数。
最终,在主程序中读取用户输入的两个正整数,并调用 `gcd` 函数求解它们的最大公约数。最后输出结果。
阅读全文