下列Python代码用于求解两个正整数的最大公约数,相关说法中错误的是( )。
def gcd0(big, small):
if big < small:
big, small = small, big
if big % small == 0:
return small
return gcd0(small, big % small)
def gcd1(big,small):
if big < small:
big, small = small, big
for i in range(small, 0, -1):
if big % i == 0 and small % i == 0:
return i
print(gcd0(48,24))
print(gcd1(36,24))
gcd0()函数的时间复杂度为 O(logN)
gcd1()函数的时间复杂度为 O(N)
一般说来, gcd0() 的效率高于 gcd1()
gcd1() 中的代码 range(small, 0, -1) 应该修改为 range(small, 1, -1)