ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C] 재귀함수를 이용한 피보나치 수열 출력
    C 2024. 4. 18. 11:39
    반응형

    재귀함수를 이용해 피보나치 수열을 출력하는 예제

    예시들


    #include "stdio.h"
    
    int fibo(int N) {
        if (N > 1)
            return fibo(N - 1) + fibo(N - 2);
        else if (N == 0)
            return 0;
        else if (N == 1)
            return 1;
    }
    
    int main(void) {
        int n, result;
        scanf("%d", &n);
        result = fibo(n);
        printf("%d", result);
    }
    #include "stdio.h"
    
    int fibo(int n) {
    	if(n <= 1)
        	return n;
        return fibo(n - 1) + fibo(n - 2);
    }
    int main(void) {
    	int num;
        scanf("%d", &num);
        printf("%d", fibo(num));
        return 0;
      }

    코드해석


    위 코드블록의 기본적인 구조는 변수 'n'이 1이나 0이 될때까지 함수(인수-1)+함수(인수-2)의 구조로 자기 자신을 호출하는 것이다

    출처:https://zzang9ha.tistory.com/188,프로그래머스 Tistrory

    매개변수로 5가 입력된다면 fibo(5-1)+fibo(5-2)이기 때문에 4와 3이 다시 한번 fibo함수로 내려가고

    if문에 의해 n이 1 이하가 된것을 검사하면 return 1이나 return 0를 하여 다시 위로 돌아온다.

    최종적으론 피보나치 수열에서 5번째에 해당하는 값인  '5'가 출력된다.

    'C' 카테고리의 다른 글

    [C] Backjoon 1002번,2525번,2563번,2884번 문제정답코드  (0) 2024.04.22
    [C] 간단한 복권추첨기 만들기  (0) 2024.04.18
Designed by Tistory.