求最大公约数,辗转相除法。仍然是递归和递推的算法。不解释,上代码。
def divideNum01(n1, n2):
while n1 % n2 != 0:
r = n1 % n2
n1 = n2
n2 = r
else:
return n2
def divideNum02(n1, n2):
if n1 % n2 == 0:
return n2
else:
return divideNum02(n2, n1 % n2)