Python 中的递归乘法

Fumbani Banda 2021年12月4日
Python 中的递归乘法

本教程将介绍 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
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

相关文章 - Python Math