C_C++

(C언어) 피보나치 수열 (재귀함수)

고니자니 2022. 12. 4. 09:27
반응형

#피보나치 #fibonacci #재귀 #재귀함수

 

 

피보나치 수열(Fibonacci sequence)

피보나치 수열(Fibonacci sequence)은 앞의 두 항의 합이 다음 항이되는 수열이다.

 

 1: 1
 2: 1
 3: 2
 4: 3
 5: 5
 6: 8
 7: 13
 8: 21
 9: 34
10: 55
11: 89
12: 144
13: 233
14: 377
15: 610
16: 987
17: 1597
18: 2584
19: 4181
20: 6765
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
#include <stdio.h>

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

int main()
{
    int n;
    for (n = 1; n <= 20; n++)
        printf("%2d: %d\n", n, fibonacci(n));

    return 0;
}

(C언어) 피보나치 수열 (재귀함수)

 

 

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

위와 같은 모양으로 출력하기 위해서는 main() 함수의 출력 부분만 조금 수정하면 됩니다.

int main()
{
    int n;
    for (n = 1; n <= 20; n++)
        printf("%d ",fibonacci(n));

    return 0;
}

 

 

 


조금 다르게 작성된 코드를 보고 싶나요?

https://gonyzany.tistory.com/64

 

(C언어) 피보나치 수열

피보나치 수열(Fibonacci sequence)은 앞의 두 항의 합이 다음 항이되는 수열이다. 1번째 수를 1, 2번째 수를 1로 두고 3번째 수부터 앞의 두 항의 수를 더해간다. 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 ...

gonyzany.tistory.com

 

반응형