피보나치
피보나치(n) 의 값이 인덱스랑 왜다르죠? 헷갈립니다....
답변 2
0
안녕하세요, 질문을 주실 때는 영상에서 몇 분 몇 초 대인지 말씀을 함께해주셔야 답변이 가능합니다.
확인 후 대댓글로 부탁드립니다..^^;
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
안녕하세요, 인프런 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








