《九章算术》中有约分术:
可半者半之,不可半者,复置分母子之数,以少减多,更相减损,求其等也,以等数约之。
在这里,以这种方法求最大公约数,采用函数递归的方法,python实现。
def gcd(a, b, base = 1):
while a % 2 == 0 and b % 2 == 0:
a = a / 2
b = b / 2
base = base * 2
if a < b:
a, b = b, a
《九章算术》中有约分术:
可半者半之,不可半者,复置分母子之数,以少减多,更相减损,求其等也,以等数约之。
在这里,以这种方法求最大公约数,采用函数递归的方法,python实现。
def gcd(a, b, base = 1):
while a % 2 == 0 and b % 2 == 0:
a = a / 2
b = b / 2
base = base * 2
if a < b:
a, b = b, a