####
# GCD calculator using euclidean algorithm
####
def euclid_gcd(x,y) :
new_gcd = y
remainder = x % y
print x,y, new_gcd, remainder
if(remainder != 0) :
euclid_gcd(y,remainder)
else :
print x,y, new_gcd, remainder
return new_gcd
print 'x | y | new_gcd | remainder'
print euclid_gcd(252,198)
ただし、このコードを実行すると、これが返されます...
x | y | new_gcd | remainder
252 198 198 54
198 54 54 36
54 36 36 18
36 18 18 0
36 18 18 0
None
この場合は18を返すはずですが、何も返されません。どこが間違っていたのでしょうか。すべてが論理的な手順に従っているようです。