有人可以帮助我,我是编程新手吗?
我想编写一个递归方法来获取python中最大的公约数。
我得到了这个:
def gcd(x, y):
while y:
x, y = y, x % y
return abs(x)
答案 0 :(得分:0)
您目前iterative Euclidean algorithm的Greatest 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))