n이 5인데 1보다 작울때까지 else룰 타잖아요
그러면 i = 2 * recursive(n - 1) +1 이 5~ 1까지 계산되는거니까
47이 끝 아닌가요..?
왜 95도 출력되는 지 모르겠습니다
안녕하세요. 길벗 수험서 운영팀입니다.
recursive(0)의 값은 2 - if (n<1) return 2 이므로
recursive(1)의 값은 5 - (2 * recursive(0)) + 1 = 5
recursive(2)의 값은 11 - (2 * recursive(1)) + 1 = 11
recursive(3)의 값은 23 - (2 * recursive(2)) + 1 = 23
recursive(4)의 값은 47 - (2 * recursive(3)) + 1 = 47
recursive(5)의 값은 95 - (2 * recursive(4)) + 1 = 95
i = (2 * recursive(4)) + 1; 과정을 생략하신 것 같습니다.
교재 484페이지의 해설부분을 참고하여 다시 한 번 디버깅 해보세요. recursive(4)로 반환받은 47을 다시 한 번 연산한 뒤 출력해야 합니다.
행복한 하루되세요.^^
-
*2018-09-10 16:05:12
안녕하세요. 길벗 수험서 운영팀입니다.
recursive(0)의 값은 2 - if (n<1) return 2 이므로
recursive(1)의 값은 5 - (2 * recursive(0)) + 1 = 5
recursive(2)의 값은 11 - (2 * recursive(1)) + 1 = 11
recursive(3)의 값은 23 - (2 * recursive(2)) + 1 = 23
recursive(4)의 값은 47 - (2 * recursive(3)) + 1 = 47
recursive(5)의 값은 95 - (2 * recursive(4)) + 1 = 95
i = (2 * recursive(4)) + 1; 과정을 생략하신 것 같습니다.
교재 484페이지의 해설부분을 참고하여 다시 한 번 디버깅 해보세요. recursive(4)로 반환받은 47을 다시 한 번 연산한 뒤 출력해야 합니다.
행복한 하루되세요.^^