Python 中的递归乘法
Fumbani Banda
2021年12月4日
本教程将介绍 Python 中使用递归的整数乘法。
递归是一种使用函数调用自身一次或多次直到满足基本条件的技术,此时其余的重复从最后一个调用到第一个进行处理。递归广泛用于编程以解决复杂问题,这些问题的解决取决于同一问题的较小实例的解决方案。
Python 中的递归乘法
一个数的乘法就是重复加法。递归乘法会反复将两个数中较大的数 (x,y)
相加,直到我们得到所需的乘积。
假设 x >= y
。然后我们可以递归地将 x
添加到它自己的 y
次。在这种情况下,你递归地将 3 添加到自身两次。
def multiply(x, y):
if y == 0:
return 0
elif y < 0:
return -(x - multiply(x, y + 1))
else:
return x + multiply(x, y - 1)
if __name__ == "__main__":
print("3 * 2 = ", multiply(3, 2))
print("3 * (-2) = ", multiply(3, -2))
print("(-3) * 2 = ", multiply(-3, 2))
print("(-3) * (-2)= ", multiply(-3, -2))
输出:
3 * 2 = 6
3 * (-2) = -6
(-3) * 2 = -6
(-3) * (-2)= 6
作者: Fumbani Banda