Java출력 결과어려움 · 30점#재귀#static#연산자

62. 반씩 줄이는 거듭제곱 재귀

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

1public class Main {
2 static int calls = 0;
3
4 static int power(int b, int e) {
5 calls++;
6 if (e == 0) {
7 return 1;
8 }
9 int half = power(b, e / 2);
10 int r = (e % 2 == 0) ? half * half : half * half * b;
11 System.out.println("e=" + e + " r=" + r);
12 return r;
13 }
14
15 public static void main(String[] args) {
16 System.out.println(power(3, 5) + " " + calls);
17 System.out.println(power(2, 6) + " " + calls);
18 }
19}

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