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.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.