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
.