所以我写了
function gcd(a, b)
if b <> 0
gcd (b, a % b)
else
return a
print gcd (12, 9)
所以它是这样的:
- 肾小球囊性肾病(12日9)
- 9 <> 0表示TRUE
- gcd(9,12 % 9 = 3)
- 3 <> 0表示TRUE
- gcd(3,9 % 3 = 0)
- 0 <> 0表示FALSE
- 返回值为3的a,但它不返回任何值
你能帮我找出我的错误吗?
我认为你需要这一行:
return gcd (b, a % b)
而不是:
gcd (b, a % b)
下面是我的Python代码,展示了实际的解决方案:
>>> def gcd(a,b):
... if b != 0:
... return gcd(b, a % b)
... else:
... return a
...
>>> print gcd(12,9)
3
>>>