用辗转相除法,采用递归的方式求两个数的最大公约数
时间: 2023-09-20 08:12:00 浏览: 107
辗转相除法求两个数的最大公约数
以下是用递归的方式实现辗转相除法求最大公约数的 Python 代码:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
其中,如果第二个数 b 等于 0,那么第一个数 a 就是最大公约数,直接返回。否则,继续递归计算 b 和 a%b 的最大公约数。
例如,计算 24 和 36 的最大公约数:
```python
print(gcd(24, 36)) # 输出 12
```
首先执行 gcd(24, 36),由于 36 不等于 0,继续递归计算 gcd(36, 24),然后进一步递归计算 gcd(24, 12),此时 12 就是最大公约数,直接返回。
阅读全文