책 내용 질문하기
정보처리산업기사 실기 1권 101쪽 문의합니다.
도서
2021 시나공 정보처리산업기사 실기
페이지
101
조회수
352
작성일
2021-08-22
작성자
탈퇴*원
첨부파일

문제 5번에 i=(2*recursive(n-1)+1

return i 라고하는데

 

답지해설에는 그런말이 없지만 이문제와 동일한 문제에대한 묻고답하기란에 답변하신걸 보니까 n=i라고 해놓으셧던데 그러면 

그 위에 int recursive (int n) 여기에서 (int n) 이부분에도 저 i=(2*recursive(n-1)+1 에서의 실행된 값으로 recursive((2*recursive(n-1)+1)바껴야하는거 아닌가요 괄호안이?

예를들어  recursive((2*recursive(4)+1))

            (2*recursive(3)+1) 이렇게 바껴야 하는거 아닌가요?

왜 답지에서는 저부분에는 n-1로 차감된값만 넣어서 recursive(4) recursive(3) recursive(2) recursive(1) 이렇게 해놧는지 이해가 안갑니다.

답변
2021-08-24 11:34:28

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

 

493쪽의 박스 상단 recursive(4)... 를 말씀하시는 것 같은데, 해당 부분은 호출되는 함수명을 의미하는 것입니다.

 

recursive(5)를 수행 했을 때, (2*recursive(4))+1 이 수행되고 이로 인해 recursive(4)의 결과를 반환받기 위해 이를 호출 합니다.

다음 recursive(4)를 수행 했을 때, (2*recursive(3))+1 이 수행되고 이로 인해 recursive(3)의 결과를 반환받기 위해 이를 호출 합니다.

...

 

와 같이 되는 것이죠. 

말씀과 같이 식을 연쇄적으로 중첩하여 나열하는 방법도 가능합니다.

다만 그 경우 보기 어려워하는 분들이 많아 최대한 풀어본 것이죠.

 

행복한 하루되세요 :)

  • 관리자
    2021-08-24 11:34:28

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

     

    493쪽의 박스 상단 recursive(4)... 를 말씀하시는 것 같은데, 해당 부분은 호출되는 함수명을 의미하는 것입니다.

     

    recursive(5)를 수행 했을 때, (2*recursive(4))+1 이 수행되고 이로 인해 recursive(4)의 결과를 반환받기 위해 이를 호출 합니다.

    다음 recursive(4)를 수행 했을 때, (2*recursive(3))+1 이 수행되고 이로 인해 recursive(3)의 결과를 반환받기 위해 이를 호출 합니다.

    ...

     

    와 같이 되는 것이죠. 

    말씀과 같이 식을 연쇄적으로 중첩하여 나열하는 방법도 가능합니다.

    다만 그 경우 보기 어려워하는 분들이 많아 최대한 풀어본 것이죠.

     

    행복한 하루되세요 :)

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