What is the return value of executing the recursive Python function `mystery(4)`?
def mystery(n):
if n <= 1:
return 1
return n * mystery(n - 1)
Answer and explanation
Correct answer: A. 24
- Step 1: Trace the recursive calls: `mystery(4) = 4 * mystery(3)`.
- Step 2: `mystery(3) = 3 mystery(2)`, `mystery(2) = 2 mystery(1)`, and `mystery(1) = 1` (base case). Unwinding gives: (factorial function ).
Answer
24.
Why not the others: 10 is the triangular sum (); 16 is ; 12 is .
Practise more Algorithms and Python Programming.
Free questions with an explanation for every one, and full timed EmSAT Achieve (UAE) mock tests.
More Algorithms and Python Programming questions
- What is the output of the following Python expression: [x**2 for x in range(6) if x % 2 != 0]?
- What is the worst-case time complexity of searching for an element in a balanced binary search tree (AVL tree) containing n nodes?
- What will be printed by the following Python code snippet?
def func(val, lst=[]):
lst.append(val)
return lst
print(func(1))
print(… - Which abstract data structure operates on a First-In, First-Out (FIFO) ordering principle?
- What is the worst-case time complexity of the standard QuickSort algorithm when the chosen pivot is consistently the smallest or largest ele…
- In Python, which of the following built-in data types is immutable?