재귀(recursion)
- 아래 문제에 대한 답을 워드프로세서(한글이나 워드) 문서로 작성하여 제출하시오. 종이에 답을 적은 후 사진을 찍어 워드프로세서 문서에 붙여 넣어도 좋습니다.
- 제출방법 : 작성한 문서를 ‘학번_이름_12주차.doc’ (또는 ‘학번_이름_12주차.hwp’)라는 이름으로 저장하여 이루리 과제 게시판에 업로드하세요.
P1
재귀함수를 구성하는 두 부분이 무엇인지 적으시오.
P2
재귀가 반복에 비해 비용이 큰 이유를 간단히 적으시오.
P3
재귀를 사용하는 경우 이득이 무엇인지 간단히 적으시오.
P4
아래에 거듭제곱을 계산하는 재귀함수 raise가 있습니다.
다음은 raise(3, 4)를 호출할 때의 실행과정을 추적한 표입니다.
위 표에서 파란 부분 중 일부에 내용을 채워 넣어 표를 완성하시오.
P5
아래 코드를 실행하면 다음과 같은 출력이 나옵니다.
출력:
fun(x, y) 함수는 재귀함수입니다. 재귀함수 fun(x, y)를 재귀가 포함되지 않는 x와 y의 간단한 함수로 적으시오. (가령, fun(x, y) = 2x + y 와 같은 모양으로 적으시오.) 파라미터가 x, y라고 하고 추적을 해 보면 결과식을 도출해 낼 수 있습니다.
P6
강의자료 12주_재귀에 있는 하노이탑 프로그램의 재귀함수 move(3, 1, 3, 2)의 추적표에는 파란색 빈 칸이 있습니다. 빈칸을 채우세요.
P7
아래 그림의 fun2는 무엇을 하는 함수인지 설명하시오.
끝.