독도갈매기의 개발 블로그

[알고리즘] 백준 피보나치 수 5 10870번 본문

알고리즘

[알고리즘] 백준 피보나치 수 5 10870번

독도갈매기 2020. 10. 2. 23:12

img

#include <bits/stdc++.h>
using namespace std;

long fibo(long a) { // 피보나치나 팩토리얼은 입력값에 따라 결과 값이 기하급수적이기 때문에 long타입으로 함수를 지정합니다.
    // 멈추는 조건을 정함
    if (a <= 0) return 0; // 0이하로 값이 낮아지게 되면 0을 리턴합니다.
    if (a == 1 || a == 2) return 1; // 피보나치에서 1이거나 2일 때는 값이 1이기 때문에 1을 리턴합니다.

    // 실제로 구동되는 함수식
    return fibo(a - 2) + fibo(a - 1);
}

int main()
{
    long a = 0; 
    cin >> a;

    cout << fibo(a);
}

저번처럼 팩토리얼처럼 if문을 사용해 재귀함수에 끝을 정합니다
피보나치와 팩토리얼은 그저 수학식을 함수 하나로 만들어서 재귀(계속 자신을 호출함)하여 표현하는 것이죠

Comments