在Python中递归实现最大公约数

时间:2017-05-26 07:59:05

标签: python algorithm

有人可以帮助我,我是编程新手吗?

我想编写一个递归方法来获取python中最大的公约数。

我得到了这个:

def gcd(x, y):
    while y:
        x, y = y, x % y
    return abs(x)

2 个答案:

答案 0 :(得分:0)

您目前iterative Euclidean algorithmGreatest Common Divisor实施用于查找recursive

您可以转换为{{3}}方法,如下所示:

def gcd(x, y):
    return gcd(y, x % y) if y else abs(x)

答案 1 :(得分:0)

 from fractions import gcd
 a = gcd(20,8)
print(a)
  

4

或者如果你想自己实现这个:

def gcd(x, y):
    return (gcd(y, x % y) if y else abs(x))