728x90
문제출처: https://www.acmicpc.net/problem/2748
2748번: 피보나치 수 2
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
1. 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include <iostream>
#include <algorithm>
using namespace std;
int n;
long long arr[100];
long long fibo(int k) {
arr[0] = 0;
arr[1] = 1;
for (int i = 2; i <= k; i++) {
arr[i] = arr[i - 1] + arr[i-2];
}
return arr[k];
}
int main() {
scanf("%d", &n);
printf("%d", fibo(n));
}
|
cs |
2. 해결과정
일반적으로 피보나치 수열을 구현해주면 된다. 범위를 초과할 수 있기 때문에 arr를 long long으로 설정해줘야하는 것이 포인트 인것같다.
3. 느낀점
배열을 longlong으로 하면 출력도 lld로 해야되는데 계속 d로 해서 오류가 났던 문제..
728x90
'공부 자료 > 알고리즘' 카테고리의 다른 글
(C/C++) 백준 1010번 - 다리 놓기 (0) | 2021.08.03 |
---|---|
(C/C++) 백준 1932번 - 정수 삼각형 (0) | 2021.08.02 |
(Python/파이썬) 백준 1094번 - 막대기 (0) | 2021.08.01 |
(Python/파이썬) 백준 10814번 - 나이순 정렬 (0) | 2021.08.01 |
(Python/파이썬) 백준 1193번 - 분수찾기 (0) | 2021.08.01 |