독도갈매기의 개발 블로그
[알고리즘] 백준 피보나치 수 5 10870번 본문
#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문을 사용해 재귀함수에 끝을 정합니다
피보나치와 팩토리얼은 그저 수학식을 함수 하나로 만들어서 재귀(계속 자신을 호출함)하여 표현하는 것이죠
'알고리즘' 카테고리의 다른 글
[알고리즘] 코드업 정수 1개 입력받아 1 더해 출력하기 1044번 (0) | 2020.10.14 |
---|---|
[알고리즘] 코드업 입력값 2개 나머지 구하기 1043번 (0) | 2020.10.03 |
[알고리즘] 백준 팩토리얼 10872번 (0) | 2020.10.01 |
[알고리즘] 백준 아스키 코드 11654번 (0) | 2020.09.30 |
[알고리즘] 백준 최댓값 2562번 (0) | 2020.09.28 |
Comments