python递归函数辗转相除法求n,m最大公约数并输出最大公约数
时间: 2024-05-06 14:15:06 浏览: 95
GYS.rar_求公约数
可以使用递归函数来实现辗转相除法求解最大公约数。具体实现方法如下:
```python
def gcd(n, m):
if m == 0:
return n
else:
return gcd(m, n % m)
```
在这个递归函数中,如果 m 等于 0,那么 n 就是最大公约数,因此直接返回 n。否则,就递归调用 gcd 函数,传入 m 和 n % m,继续进行辗转相除的计算。
在主函数中,我们只需要输入要求的两个数 n 和 m,然后调用 gcd 函数即可,最终返回的结果就是它们的最大公约数。代码如下:
```python
n = int(input("请输入第一个数:"))
m = int(input("请输入第二个数:"))
result = gcd(n, m)
print("最大公约数为:", result)
```
例如,输入 n = 12,m = 18,输出结果为:
```
请输入第一个数:12
请输入第二个数:18
最大公约数为: 6
```
这就是使用递归函数实现辗转相除法求解最大公约数的方法。
阅读全文