Java출력 결과보통 · 20점#재귀#배열#static

172. 배열을 반으로 나누는 재귀 합계

다음 Java 프로그램의 실행 결과를 쓰시오.

1public class Main {
2 static int calls = 0;
3
4 static int sum(int[] a, int lo, int hi) {
5 calls++;
6 if (lo == hi) {
7 return a[lo];
8 }
9 int mid = (lo + hi) / 2;
10 return sum(a, lo, mid) + sum(a, mid + 1, hi);
11 }
12
13 public static void main(String[] args) {
14 int[] a = {2, 5, 1, 4, 3};
15 int total = sum(a, 0, 4);
16 System.out.println(total + " " + calls);
17 }
18}

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.