python递归求最大公约数
时间: 2023-07-06 11:24:33 浏览: 66
使用Python求解最大公约数的实现方法
5星 · 资源好评率100%
可以使用递归的方式来求解最大公约数,具体的代码实现如下:
```
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
函数 `gcd` 接受两个参数 `a` 和 `b`,并返回它们的最大公约数。当 `b` 等于 0 时,直接返回 `a`,否则递归调用 `gcd(b, a % b)`,直到 `b` 等于 0。
这个算法的时间复杂度为 $O(\log\min(a,b))$,因为每次递归都会将其中的一个参数减少至原来的一半。
阅读全文