2024-09-26 17:46:11 发布
网友
这是我用欧几里德算法求最大公分母的代码。你知道吗
def gcdIter(a, b): if a > b: if a%b == 0: return b r = a%b a = b return gcdIter(a, r) elif a < b: if b%a == 0: return a r = b%a a = b return gcdIter(a, r) gcdIter(12, 2)
编辑:将(elif b<;a)更改为(elif a<;b)
你的elif部分永远也达不到。如果a>;b第一个If本身满足。将elif条件更改为b>;a。但是对于您的输入gcd(12,2),它应该可以工作。你知道吗
我想你的elif应该是这样的:
elif
elif a < b:
因为a > b和b < a本质上是一回事。。。你知道吗
a > b
b < a
当gcdIter返回一个值时,您需要打印它。你知道吗
print gcdIter(12, 2)
你也可以这样计算gcd
def gcd(a,b): if b==0: return a return gcd(b,a%b)
你的elif部分永远也达不到。如果a>;b第一个If本身满足。将elif条件更改为b>;a。但是对于您的输入gcd(12,2),它应该可以工作。你知道吗
我想你的
elif
应该是这样的:因为
a > b
和b < a
本质上是一回事。。。你知道吗当gcdIter返回一个值时,您需要打印它。你知道吗
你也可以这样计算gcd
相关问题 更多 >
编程相关推荐