책 내용 질문하기
492page 문제 5번 해설
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
492
조회수
561
작성일
2019-03-27
작성자
탈퇴*원
첨부파일

if ( n<1) 에 대한 해설이

n이 1보다 크거나 같을 때까지 자신을 호출한다고 기재 되어 있는데

 

n이 1보다 작을때까지 자신을 호출하는거 아닌가요?

 

 

답변
2019-03-28 10:35:05

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

 

if문 전체를 보시기 바랍니다. while문이나 for문의 조건절과 착각하시면 안됩니다.

 

if문이 거짓인 경우, 즉 n>=1인 경우 else문에는

i = (2 * recursive(n - 1)) + 1; 라는 자기를 호출하는 식이 존재합니다. 

 

즉, i가 1보다 크거나 같을 때 위의 식을 수행하게 됨으로써 자기를 호출하게 되는 것이죠.

 

반대로 if문이 참인 경우, 즉 n<1인 경우

return 2; 를 수행함으로써 재귀함수의 마지막이 2값을 지님을 알 수 있습니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-03-28 10:35:05

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

     

    if문 전체를 보시기 바랍니다. while문이나 for문의 조건절과 착각하시면 안됩니다.

     

    if문이 거짓인 경우, 즉 n>=1인 경우 else문에는

    i = (2 * recursive(n - 1)) + 1; 라는 자기를 호출하는 식이 존재합니다. 

     

    즉, i가 1보다 크거나 같을 때 위의 식을 수행하게 됨으로써 자기를 호출하게 되는 것이죠.

     

    반대로 if문이 참인 경우, 즉 n<1인 경우

    return 2; 를 수행함으로써 재귀함수의 마지막이 2값을 지님을 알 수 있습니다.

     

    행복한 하루되세요 :)

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