通过加法模拟乘法的算法

Kaw*_*iKx 1 algorithm multiplication addition

如何设计一个算法来模拟乘法加法.输入两个整数.它们可能是零,正面或负面..

Dr.*_*ula 9

def multiply(a, b):                                                                                                                                                               
    if (a == 1):
        return b
    elif (a == 0):
        return 0
    elif (a < 0):
        return -multiply(-a, b)
    else:
        return b + multiply(a - 1, b)
Run Code Online (Sandbox Code Playgroud)

  • @enjay:由于没有使用实际的乘法,因此不需要a == 1的早期保释.如果a == 1则会调用else并且b + multiply(0,b) - > b + 0将被返回并且一切正常.因此,不需要a == 1的情况. (2认同)