반응형
재귀의 활용_피보나치 수열 구현(C언어)
피보나치 수열은 재귀적인 형태를 띠는 대표적인 수열입니다.
앞의 두 수를 더해서 현재의 수를 만들어가는 수열이라 처음 두 개의 수(0,1)이 주어진 상태에서 만들어집니다.
피보나치 수열의 n번째 위치의 값을 반환하는 함수를 코드로 구현보겠습니다.
#include <stdio.h>
int Fibo(int num) {
if(num == 1) // 수열의 첫번째 자리를 요구하면 0 반환
return 0;
else if(num == 2) // 수열의 두번째 자리를 요구하면 1 반환
return 1;
else // 수열의 세번째 자리 이상을 요구하면
return Fibo(num - 1) + Fibo(num - 2);
}
int main(void) {
int i;
printf("피보나치 수열을 15번째 자리까지 표현하면\n");
for(i=1;i<=15;i++){
printf("%d ",Fibo(i));
}
printf("\n");
return 0;
}
------------------------------
------------------------------
반응형
'컴퓨터 공학 > Algorithm' 카테고리의 다른 글
[ 알고리즘 ] 연결리스트(Linked List) 삭제 (그림으로 이해하기) (408) | 2020.07.09 |
---|---|
[ 알고리즘 ] 이진 탐색 알고리즘의 재귀적 구현(C언어) (374) | 2020.07.08 |
[ 알고리즘 ] 재귀함수의 디자인 사례_팩토리얼 구현(C언어) (395) | 2020.07.08 |
[ 알고리즘 ] 재귀 함수의 기본 원리 이해하기 (392) | 2020.07.08 |
[ 알고리즘 ] 빅-오 표기법이란? (383) | 2020.07.06 |
댓글