Python中的这个函数是递归地找到2个整数的最大公约数。但我没有得到它的工作,因为它应该在测试递归GCD不返回预期结果
def gcdRecur(a, b):
if a > b:
(a,b) = (b,a)
if b%a == 0:
#print("b%a == 0")
print ("a is " + str(a))
return a
else:
gcdRecur(b%a,b)
print("gcdRecur(45, 42) " + "should be 3, and we got " + str(gcdRecur(45, 42)))
print("gcdRecur(6, 12) " + "should be 6, and we got " + str(gcdRecur(6, 12)))
print("gcdRecur(12, 16) " + "should be 4, and we got " + str(gcdRecur(12, 16)))
print("gcdRecur(17, 12) " + "should be 1, and we got " + str(gcdRecur(17,12)))
你的'else'语句中缺少'return' – MooingRawr