백준 Baekjoon

[C언어] 백준 10870 : 피보나치 수 5

sujo 2020. 8. 14. 17:20

백준 10870 : 피보나치 수 5

 

문제 링크:

https://www.acmicpc.net/problem/10870

 

10870번: 피보나치 수 5

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 ��

www.acmicpc.net

 

 

문제 내용

(요약) 0번째 피보나치 수는 0이고 1번째 피보나치 수는 1일 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.

 

 

Idea

이번 문제는 재귀 함수로 풀어보았다.

피보나치 수는 자신 앞의 두 수를 합한 값과 같다는 것을 이용하여 먼저 점화식을 작성한다.

 

[피보나치 수 점화식]

이를 그대로 코드에 옮겨적으면 된다.

 

 

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int fibo(int n) {
    if (n >= 2)
        return fibo(n - 1+ fibo(n - 2);
    else if (n == 1return 1;
    else return 0;
}
 
int main() {
    int n;
    scanf("%d"&n);
    printf("%d\n", fibo(n));
    return 0;
}
cs

 

 

'백준 Baekjoon' 카테고리의 다른 글

[C언어] 백준 2231 : 분해합  (0) 2020.08.16
[C언어] 백준 1568 : 새  (0) 2020.08.14
[C언어] 백준 10872 : 팩토리얼  (0) 2020.08.14
[C++] 백준 1920 : 수 찾기  (0) 2020.08.06
[JAVA] 백준 1822 : 차집합  (0) 2020.08.02