How to multiply two numbers recursively without using multiplication, division, bitwise and loops in Python

1 Answer

0 votes
def multiply(x, y):
    if y > 0:
        return x + multiply(x, y - 1)
    if y < 0:
        return -multiply(x, -y)

    return 0


print("3 * 7 = ", multiply(3, 7))
print("3 * 0 = ", multiply(3, 0))
print("0 * 3 = ", multiply(0, 3))
print("3 * -5 = ", multiply(3, -5))
print("-3 * 6 = ", multiply(-3, 6))



'''
run:

3 * 7 =  21
3 * 0 =  0
0 * 3 =  0
3 * -5 =  -15
-3 * 6 =  -18

'''

 



answered May 13, 2017 by avibootz
edited Mar 13, 2023 by avibootz
...