티스토리 뷰
그냥 n번째 피보나치 수를 계산하는 문제가 아니다.
n번째 피보나치 수를 재귀 함수로 구할 때, fib(0)과 fib(1)이 몇 번씩 호출되는지를 묻는 문제다.
근데 딱히 다를 건 없다. 동적 계획법으로 푸는데, 누적하는 수가 피보나치 수가 아니라 0과 1의 회수일 뿐이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
//#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
void fib(int n);
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
fib(num);
}
}
void fib(int n) {
if (n == 0) {
cout << 1 << " " << 0 << endl;
return;
}
else if (n == 1) {
cout << 0 << " " << 1 << endl;
return;
}
pair<int, int> num1, num2, num3;
num1.first = 1; num1.second = 0;
num2.first = 0; num2.second = 1;
for (int i = 2; i <= n; i++) {
num3.first = num1.first + num2.first;
num3.second = num1.second + num2.second;
num1.first = num2.first;
num1.second = num2.second;
num2.first = num3.first;
num2.second = num3.second;
}
cout << num3.first << " " << num3.second << endl;
return;
}
|
cs |
pair<int, int>를 사용했다. 코드를 보면 이해가 갈 것이다.
'algorithm'''problem solve' 카테고리의 다른 글
[백준]9461-파도반 수열(설명X) (0) | 2019.08.18 |
---|---|
[백준]1904-01타일(설명X) (0) | 2019.08.18 |
[백준]2748-피보나치 수 2(설명X, Dynamic Programming) (0) | 2019.08.17 |
[백준]10814-나이순 정렬(설명X) (0) | 2019.08.17 |
[백준]1181-단어 정렬(설명X) (0) | 2019.08.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 카카오
- 프로그래머스
- PyPy3
- DFS
- c++
- c
- webOS
- 동적 계획법
- BaekJoon
- 플로이드 와셜
- 컨트리뷰톤
- 인공지능
- 백준
- LG
- BFS
- 알고리즘
- 구현
- 정렬
- 코딩
- Dynamic Programming
- 한화큐셀
- DP
- 이분탐색
- 백트래킹
- 오픈소스
- 파이썬
- 완전탐색
- 브루트포스
- 피보나치
- 1932
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함