inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

함수와 재귀함수 (v2)

피보나치

해결된 질문

83

김장호

작성한 질문수 10

0

피보나치(n) 의 값이 인덱스랑 왜다르죠? 헷갈립니다....

python java c 정보처리기사

답변 2

0

주말코딩

안녕하세요, 질문을 주실 때는 영상에서 몇 분 몇 초 대인지 말씀을 함께해주셔야 답변이 가능합니다.

확인 후 대댓글로 부탁드립니다..^^;

0

김장호

45분 부분에 2일을 까먹고 있습니다.

0

주말코딩

피보나치 n의 값이 왜 인덱스랑 다르죠? 라는 의미는,

인덱스를 넣으면 그것에 대한 피보나치 값이 나와야 한다고 생각하시는 걸까요?

 

기대하고 계시는 출력값이나 헷갈리시는 부분이 뭔지 말씀 부탁드립니다.

 

코드 자체를 설명해드리자면,

fibonacci의 함수는 숫자를 하나 받아서, 그 숫자보다 바로 하나 작은 것을 다시 호출하고 그 숫자보다 2가 작은 것을 다시 호출한 뒤에

그것을 다 끝난 것을 리턴받는 재귀함수입니다.

 

이 이야기는 뭐냐면, 내가 부른 함수들이 각각 최초의 탈출조건 if(n<=1)에 걸리기 전까지는 자기보다 1 작은 것과 2 작은 것을 다 더해서 오라는 뜻입니다.

 

지금 메인함수에 반복문을 보시면 0부터 9까지 들어갑니다. (총 10개죠)

0, 1이 들어가면 아예 바로 리턴됩니다. if문에 걸리니까요. 아래까지 내려갈 필요도 없습니다.

 

2가 들어갔다고 해봅시다.

그러면 printf("%d~", fibonacci(i)); 입니다.

그게 쪼개지죠. fibonacci(0), fibonacci(1)입니다. 이 것을 각각 더하면 1이 됩니다.

내가 호출한 아래 함수들이 다 더해지고 나서야 그 숫자의 출력값이 정해지는 것입니다.

 

그래서 반복문은 앞에서부터 i가 들어간 순서대로 0~1~1~ .... 이렇게 출력되는 것입니다.

 


 

사실 영상에서 설명한 그대로를 다시 글로 옮겨놓은 것 뿐인데,

제일 좋은 것은 질문자분께서 기대하는 출력값을 말씀해주시면 어떤 부분을 헷갈리고 계신지 제가 파악하기 좋습니다.

 

0

주말코딩

image.png

 

image.png

 

도움이 되실까하여 LLM으로 생성한 도표 첨부해드립니다.

0

김장호

1761578041861.png.webp

겨우 이해해서 풀었습니다. 자꾸 0,1,1,3,5,7,9이런 식으로 나와서 왜 다르지 했는데 제가 피보나치 값을 바꾸지 않았네요

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 김장호님.

피보나치 수열에서 n번째 수는 종종 그 index와 동일하지 않은 값을 가집니다. 이는 피보나치 수열의 정의 때문인데, 피보나치 수열은 각각의 수가 그 이전의 두 수의 합으로 정의됩니다. 초기 두 항은 각각 0과 1로 시작합니다. 따라서 수열 상에서 두 번째(1을 기준으로 하면 두 번째 인덱스) 수는 1입니다. 수열의 시작이 0, 1로 시작하기 때문에 발생하는 차이입니다.

예를 들어:
- F(0) = 0
- F(1) = 1
- F(2) = F(1) + F(0) = 1 + 0 = 1
- F(3) = F(2) + F(1) = 1 + 1 = 2
- …

이처럼 인덱스가 수열의 값과 맞지 않기 때문에 헷갈릴 수 있습니다.

이와 관련된 기존 답변을 참고하시면 더 도움이 될 수 있을 것 같아 몇 가지 링크를 첨부드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

46

2

조건 반복문 질문: for 문 ?

0

59

1

정처기 26-2회. 9번 질문드립니다!

0

77

1

이론 보면서 질문이 있습니다.

0

71

2

정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문

0

86

2

유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)

0

144

2

262 정처기 실기 C언어코딩

0

45

1

정보처리기사 262 실기 Hash(해시) 질문

0

77

2

static 변수 질문입니다.

0

60

2

파이썬 4강 질문입니다.

0

67

2

모의고사 1회 3번문제

0

87

3

41강 30:10

0

66

2

이론 공부법 질문 있습니다.

0

87

2

부모의 생성자 관련 질문

0

64

2

시험지 문제에 필기해도 되나요?

0

87

3

41강 11:23

0

58

2

4강파이썬 질문입니다

0

53

2

try-catch 핸들러명

0

64

2

36강 3:48

0

62

2

35강 18:27

0

65

2

자식 코드 내 super() 생략

0

59

2

출력질문

0

73

2

31강 4:06

0

64

2

파이썬 학습자료가 강의 자료와 다릅니다.

0

94

3