This is my problem statement.
Given two integers m & n, calculate and return their multiplication using recursion. You can only use subtraction and addition for your calculation. No other operators are allowed.
This is my approach.
def mult(m,n):
if m == 0 or n == 0:
return 0
if n == 1:
return m
if m == 1:
return n
if m < 0 and n < 0:
return mult(-m, -n)
if n < 0:
return -mult(m, -n)
if m < 0:
return -mult(-m, n)
return m + mult(m, n - 1)
m = int(input())
n = int(input())
print (mult(m, n))
One of the test case is showing Runtime Error. Could someone please tell me what is problem with my code. I have also taken care of negative values.
Runtime Error
Traceback (most recent call last): File Main.py , line 18, in <module> print (mult(m, n))
File Main.py , line 14, in mult return m + mult(m, n - 1)
File Main.py , line 14, in mult return m + mult(m, n - 1)
File Main.py , line 14, in mult return m + mult(m, n - 1)
File Main.py , line 14, in mult return m + mult(m, n - 1)
File Main.py , line 14, in mult return m + mult(m, n - 1)
File Main.py , line 14, in mult return m + mult(m, n - 1)