If memory for the run-time stack is only 150 cells(words), how big can N be in Factorial(N) before encounterring stack overflow?
Answer: Option C
Given that, the size of a run-time stack is of 150 cells (words). The arguments to evaluate the factorial are placed on the stack. A function call is made to calculate the factorial. The subroutine is executed for each time the function call is made. Each funcall creates a stack frame of co words (Cells), 2 words for n, 2 words for program counter (PC), and 2 words for some other information. The value of n should be such that, the size of the stack should not exceed 150 cells. If we consider the value of n to be 26, it executes 25 procedure calls each of it with a 6-word stack frame. In this case, the total number of words of stack space would be 150 (6 words × 25 procedure calls = 150) cells.
Therefore, the value of n will be 26 is n! before encountering a stack overflow for the stack of size 150 cells (words)