책 내용 질문하기
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값을 지님을 알 수 있습니다.
행복한 하루되세요 :)