본문 바로가기
Programming/Algorithm

재귀함수 - 피보나치

by 제타 2018. 4. 16.
반응형

재귀 함수라는 것은 recursive(반복적인) 함수이다. 

나는 과거 누군가에게 재귀함수를 설명하기 위해 다음과 같은 비유를 했다.


TV를 보고 있는데 TV안에 TV가 있었다. 그런데 그 TV안에 TV안에 TV를 보았다. 그런데 그 TV안에 TV안에 TV안에 TV를 보았고...

그렇다면 만약 모든 TV를 꺼야한다면 어느 것부터 꺼야할까? 가장 바깥쪽에 있는 TV부터 꺼나가야 할까? 안쪽에 있는 TV부터 꺼나가야 할까?

이런식으로 이해를 시켰었다. 당연히 안쪽에서부터 꺼야지 차례차례 꺼나갈 수 있지~라고 하면서..



재귀적으로 피보나치를 구하는 코드이다.


#include <stdio.h>


int Fibo(int n){

if(n==1)

return 0;

else if(n==2)

return 1;

else

return Fibo(n-1)+Fibo(n-2);

}

int main(void){

int i;

for(i=1; i<10; i++)

printf("%d ", Fibo(i));


return 0;

}

반응형

'Programming > Algorithm' 카테고리의 다른 글

c언어 병합정렬 함수  (0) 2018.04.19
c언어 삽입정렬 함수  (0) 2018.04.19
c언어 선택정렬 함수  (0) 2018.04.19
c언어 버블정렬 함수  (0) 2018.04.19
재귀함수 - 하노이 타워  (0) 2018.04.16