The following function finds the power of two described by the number being passed to the recursive function “double”.

def double(n):
if n == 0:
return 1
else:
return double(n - 1) + double(n - 1)
print(double(4))
Hence the result of the above code would be 24=16 . How could the code be modified to find the power of three?

(1 point)
Responses

def double(n):
if n == 0:
return 1
else:
return double(n - 1) + double(n - 1) + double(n - 1)
print(double(4))
def double(n): if n == 0: return 1 else: return double(n - 1) + double(n - 1) + double(n - 1) print(double(4))

def triple(n):
if n == 0:
return 1
else:
return triple(n - 1) + triple(n - 1)
print(triple(4))
def triple(n): if n == 0: return 1 else: return triple(n - 1) + triple(n - 1) print(triple(4))

def double(n):
if n == 0:
return 1
else:
return 3 * double(n - 1) + 3 * double(n - 1)
print(double(4))
def double(n): if n == 0: return 1 else: return 3 * double(n - 1) + 3 * double(n - 1) print(double(4))

def double(n):
if n == 0:
return 1
else:
return double(n - 1) + double(n - 1)
print(double(3))

1 answer

To modify the function to find the power of three, you can create a new function where the recursive calls are structured to account for three instances instead of two. The correct approach involves duplicating the calls three times, which can be achieved with the following implementation:

def triple(n):
    if n == 0:
        return 1
    else:
        return triple(n - 1) + triple(n - 1) + triple(n - 1)

print(triple(4))

This function triple will return 3^n, so when you call triple(4), it will correctly compute 3^4, which equals 81.

Summary of the Choices:

  1. Option:

    def double(n):
         if n == 0:
              return 1
         else:
              return double(n - 1) + double(n - 1) + double(n - 1)
    print(double(4))
    
    • This attempts to define the function correctly for power of three but retains the name double.
  2. Other options either retain the name double incorrectly or do not compute power in a meaningful way.

The correct function should therefore be named triple, and it uses three recursive calls to find the power of three, as shown in the chosen option above.