递归课后作业
课后作业用递归法求欧几里得算法中def gcd(x,y):
if x%y==0:
return y
else:
x=y
y=x%y
return gcd(x,y)
会报错: if x%y==0:
ZeroDivisionError: integer division or modulo by zero
但
def gcd(x,y):
if x%y==0:
return y
else:
return gcd(y,x%y)
却能够正常运行,这是为什么?求大神指教 y=x%y这时候的 x 已经变成 y 了。 欧几里得算法代码:def gcd(x,y,/):
while y:
x,y=y,x%y
return x {:10_269:} 永恒的蓝色梦想 发表于 2020-6-4 19:33
这时候的 x 已经变成 y 了。
谢谢谢谢
页:
[1]