제시된 재귀 함수를 같은 기능의 반복 함수로 바꿀 때 ㉠과 ㉡에 들어갈 내용을 순서대로 바르게 연결한 것은?
int func(int n) { // 재귀 함수
if (n == 0)
return 1;
else
return n * func(n - 1);
}
int iter_func(int n) { // 반복 함수
int f = 1;
while ( ㉠ )
㉡
return f;
}정답 3번
재귀 함수는 n이 0이면 1을 반환하고 그 외에는 n × func(n-1)을 계산하므로 n!을 구한다. 반복 함수도 f에 현재 n을 곱한 뒤 n을 1씩 줄여 0이 될 때 멈춰야 한다. 따라서 ㉠은 n > 0, ㉡은 f = f * n--;인 ③이다.
콘텐츠 정보
- 자료 유형
- 공개 기출
- 검수 상태
- 자동 검사 완료
- 해설 작성·검수
- 정처LAB 자동 검사
- 최종 검수
- 2026-08-21