inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2027 대비!) 일주일만에 합격하는 정보처리기사 실기

함수와 재귀함수 (v2)

피보나치

해결된 질문

91

김장호

작성한 질문수 32

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
- …

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

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

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

정처기 2026-3 실기 문의

0

72

2

정처기 실기 3회 컴싸 사용 여부

0

43

1

모의고사 1 회 2번문제 중

0

59

2

26-2 이론문제 재탕

1

48

1

26-2년도 코드문제

0

34

0

26-2 코드문제

0

38

1

15분 48초 질문

0

47

2

26-1년도 이론문제 재탕

0

58

1

26-1년도 코드문제 재탕

0

43

0

이론재탕만 눈치챘어도

0

70

1

25-3년도 이론문제 재탕

0

54

1

25-3년도 코드문제 재탕

0

39

0

출력값 문의

0

48

2

25-2 분기커버리지

0

45

0

25-2 이론 재탕

0

62

1

25-1 이론 재탕

0

50

1

서브넷 마스크

0

48

2

모의고사 1회 계산문제 2개 맞았는데

0

67

2

업캐스팅 문제 예시 4번 부모 호출

0

49

2

모의고사 자료 해설이 너무 불친절하네요.

0

93

2

부모의 생성자 출력 관련

0

45

2

24-3 이론파트 재탕문제

0

56

0

누락코드

0

45

1

다차원 배열 포인터 질문있습니다

0

71

3