农场主有一块地,长168m,宽64米,他想把地分割为一块块小的正方形土地,且所有土地一样大;如何操作?
问题抽象后,即求最大公约数,本例使用欧几里得定理思路去做; 采用递归函数(recursion)
# a land width: 64, length: 168
# farmer want to divide it as big as square and all small square mast has same area;
# 该问题抽象后即 欧几里得定理, 求最大公约数
# python 调用递归函数
def sub_land(width, length):
remainder = length % width
if remainder == 0:
print(width)
return
else:
sub_land(remainder, width)
sub_land(64,168)