23-3아래 Java 프로그램을 실행했을 때 출력값을 적으시오.publ… | 2023년 정보처리기사실기 3회차 기출문제 상세 페이지
13
23-3
아래 Java 프로그램을 실행했을 때 출력값을 적으시오.
public class Main {
static int mul(int n) {
if (n <= 1) {
return 1;
}
return n * mul(n - 1);
}
public static void main(String[] args) {
int total = mul(5) + mul(3);
System.out.println(total);
}
}해설
126
[해설]
mul은 n이 1 이하가 될 때까지 자기 자신을 호출하는 재귀 팩토리얼이다.
- mul(5) = 5×4×3×2×1 = 120
- mul(3) = 3×2×1 = 6
두 값을 더한 126이 출력된다. 종료 조건(n <= 1)이 없으면 호출이 끝없이 쌓여 StackOverflowError가 난다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.