Exam Question:
Consider the following recursive method:
public static int recursiveSum(int n) {
if (n == 0) {
return 0;
}
return n + recursiveSum(n - 1);
}
Assume we call the recursiveSum method with the argument 5. What will be the output of the method? Show the step-by-step process.
Answer:
The output of the method will be 15.
Step-by-step explanation:
recursiveSum method with the argument 5.n is equal to 0. Since n is 5, this condition is false.5 + recursiveSum(5 - 1).recursiveSum(5 - 1).n is equal to 0. Since n is now 4, this condition is false.4 + recursiveSum(4 - 1).recursiveSum(4 - 1).n is equal to 0. Since n is now 3, this condition is false.3 + recursiveSum(3 - 1).recursiveSum(3 - 1).n is equal to 0. Since n is now 2, this condition is false.2 + recursiveSum(2 - 1).recursiveSum(2 - 1).n is equal to 0. Since n is now 1, this condition is false.1 + recursiveSum(1 - 1).recursiveSum(1 - 1).n is equal to 0. Since n is now 0, this condition is true.recursiveSum(1 - 1) returns 0, so the result is 1 + 0 = 1.recursiveSum(2 - 1) returns 1, so the result is 2 + 1 = 3.recursiveSum(3 - 1) returns 3, so the result is 3 + 3 = 6.recursiveSum(4 - 1) returns 6, so the result is 4 + 6 = 10.recursiveSum(5 - 1) returns 10, so the final result is 5 + 10 = 15.5 will be 15.