Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

consider the following function; int rfunc (int n) { if(n==0) return 0; else ret

ID: 3604551 • Letter: C

Question

consider the following function;

int rfunc (int n)

{

if(n==0)

return 0;

else

return rfunc(n / 3 + 1) + n - 1;

}

what will happen if the function is called?

A) the resursive call ensures that the problem instance is similar with each invocation.

B) the function repeadtly calls itself upon reaching a certain value for n

C) Nothing out of ordinary. The base case is well defined and ensures that recursion terminates.

D) The recursion only terminates if the function is called with a value greater than 5

Explanation / Answer

Answer:-

(A) "the resursive call ensures that the problem instance is similar with each invocation"

Explanation:-

In this case if we put n greater then 5 then function return value more than 5 and call itself again and again..then there is no case to terminate the function .if user put value 1,2,3,4 then it will return same value respectively, it means function call itself repetedly till the buffer memory not full.

then we can say that option (A) "the resursive call ensures that the problem instance is similar with each invocation" is correct.