책 내용 질문하기
재귀함수 관련 질문
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
88
조회수
127
작성일
2018-09-10
작성자
탈퇴*원
첨부파일
재귀함수 문제에사 팩토리얼 계산시 반환값(리턴값)이 왜 전 단게로 올라가는 건가요?
답변
2018-09-10 16:42:58

안녕하세요. 길벗 수험서 운영팀입니다.

문제에서 factorial(5)를 수행했을 때, factorial(1)이하가 아닌 경우 n*factorial(n-1)을 수행하도록 하고 있습니다.

즉 factorial(5) = 5 * factorial(4)가 되며,

factorial(4) = 4 * factorial(3)

factorial(3) = 3 * factorial(2)

factorial(2) = 2 * factorial(1)

factorial(1) = 1

이 됩니다.

이것을 직접 대입하게 되면, 아래와 같은 식이 됩니다.

factorial(5) = 5 * 4 * 3 * 2 * 1

factorial(4) = 4 * 3 * 2 * 1

factorial(3) = 3 * 2 * 1

factorial(2) = 2 * 1

factorial(1) = 1

이와 같은 과정을 표현하기 위해 factorial(5)부터 factorial(1)까지 진행한 후 반환된 값을 다시 대입하여 factorial(5)로 다시 돌아오는 과정을 수행한 것입니다.

행복한 하루되세요.^^

  • *
    2018-09-10 16:42:58

    안녕하세요. 길벗 수험서 운영팀입니다.

    문제에서 factorial(5)를 수행했을 때, factorial(1)이하가 아닌 경우 n*factorial(n-1)을 수행하도록 하고 있습니다.

    즉 factorial(5) = 5 * factorial(4)가 되며,

    factorial(4) = 4 * factorial(3)

    factorial(3) = 3 * factorial(2)

    factorial(2) = 2 * factorial(1)

    factorial(1) = 1

    이 됩니다.

    이것을 직접 대입하게 되면, 아래와 같은 식이 됩니다.

    factorial(5) = 5 * 4 * 3 * 2 * 1

    factorial(4) = 4 * 3 * 2 * 1

    factorial(3) = 3 * 2 * 1

    factorial(2) = 2 * 1

    factorial(1) = 1

    이와 같은 과정을 표현하기 위해 factorial(5)부터 factorial(1)까지 진행한 후 반환된 값을 다시 대입하여 factorial(5)로 다시 돌아오는 과정을 수행한 것입니다.

    행복한 하루되세요.^^

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.