인프런 커뮤니티 질문&답변

김태윤님의 프로필 이미지

작성한 질문수

(2024) 일주일만에 합격하는 정보처리기사 실기

(기출) 2023년 3회 코드해석 문제

23년 3월 코드 해석 재귀함수 계산

해결된 질문

24.07.07 17:16 작성

·

137

0

compute(7) 에서 시작하는 재귀함수 계산하는게 왜 저런건지 저는 모르겠습니다 -_-

C6 + C4로 시작하는데 왜 그런건지 설명이 없어서 눈뜨고 멍때렸네요

답변 2

0

김태윤님의 프로필 이미지
김태윤
질문자

2024. 07. 07. 18:41

답변 감사합니다!

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

2024. 07. 07. 18:12

안녕하세요,

우선 부모가 아니라 자식메서드가 실행되는 것은 이해하셨다고 생각하고 설명드리겠습니다.


재귀함수는 글자 그대로, 자기 자신을 계속 부르는 함수(혹은 메서드)입니다.

 

지금 int compute에 7이 들어갑니다.

7이 들어가면, if(num <= 1)에 해당하기 않기 때문에 맨 아랫줄인

compute(num-1) + compute(num-3)을 리턴하게 되어있습니다.

여기에 각각 7을 넣으면

compute(6) + compute(4)가 됩니다.

그 이후로는 각각의 숫자가 계속 들어가면서 수행이 됩니다.

 

이해에 도움이 되셨을까요?