Write recursive functions that solve each of the following problems. Your functi
ID: 3917372 • Letter: W
Question
Write recursive functions that solve each of the following problems. Your functions must be recursive -- that is, they should have a base case and, in each recursive call, your problem should be reduced to an identical problem of a smaller size. You should have no loops in your code. Your solutions should not be using built-in functions with the exception of len():
Write a recursive function called "multiply" that finds the product of the numbers from n to m (inclusive) by recursively splitting the list in half and finding the product of the first half of the list then the product of the second half of the list and multiplying them together. The following solution, although it solves the problem, is not acceptable as it does not split the list in half repeatedly:
Explanation / Answer
Following is the answer:
def multiply(n, m):
mid = ((n + m) //2)
#base case
if n > m:
return
elif n+1 == m:
return n*m
elif n == mid or n > mid:
return n
else:
num = (multiply(n, mid) * multiply(mid+1, m))
return num
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.