[c언어] 피보나치 수열 (재귀함수)

2020. 12. 21. 16:10Computer Science/C

 

피보나치 수열은 다음과 같은 재귀적 정의에 의해 정해진다.

F(n) = F(n-1) + F(n-2)

F(0) = F(1) = 1

 

#include <stdio.h>
int fibo(int n);
int main(void)
{
    int n, idx;

    printf("몇 개의 피보나치 수열값을 출력할까요? (3보다 큰 정수) : ");
    scanf("%d", &n);

    for (idx = 0;idx < n;idx++)
    {
        printf("%10d ", fibo(idx));
        if ((idx + 1) % 5 == 0)
            printf("\n");
    }
    printf("\n");
}

int fibo(int n)
{
    if (n == 0 || n == 1)
        return 1;
    else
        return fibo(n - 1) + fibo(n - 2);
}

 

결과