Algorithms | Recursion | Question 5
What does fun2() do in general?
(y == 0)
(x + fun(x, y-1));
(b == 0)
fun(a, fun2(a, b-1));
int fun(int x, int y): This function is a recursive function that calculates the product of two integers x and y. It does this by repeatedly adding x to itself y times. If y is 0, the function returns 0 (base case). Otherwise, it returns x plus the result of calling itself with x and y-1.
int fun2(int a, int b): This function is also a recursive function that calculates the exponentiation of an integer a raised to the power of another integer b. It does this by repeatedly calling itself with the first argument a and decreasing b by 1 until b becomes 0 (base case).
Therefore, fun2() calculates the exponentiation of the first argument a raised to the power of the second argument b. It does this using the fun() function to perform multiplication in a recursive manner.
Hence (C) is the correct answer.
Quiz of this Question
Please comment below if you find anything wrong in the above post