Why is None returned ? When a or b is 0, max(a, b) must be returned
def gcd(a, b):
if a == 0 or b == 0:
return max(a, b)
else:
if a > b:
gcd(a-b, b)
else:
gcd(b-a, a)
print(gcd(1000,400))
Why is None returned ? When a or b is 0, max(a, b) must be returned
def gcd(a, b):
if a == 0 or b == 0:
return max(a, b)
else:
if a > b:
gcd(a-b, b)
else:
gcd(b-a, a)
print(gcd(1000,400))
You aren't returning when you recursively call gcd
.
def gcd(a, b):
if a == 0 or b == 0:
return max(a, b)
else:
if a > b:
return gcd(a - b, b)
else:
return gcd(b - a, a)