2748번: 피보나치 수 2
문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)��
www.acmicpc.net
#include <iostream>
int n;
unsigned long long fib[91] = {0, 1};
int main(void)
{
std::cin >> n;
// 굳이 90까지 돌 필요 없이 n 번까지만 구해준다
for(int i = 2 ; i <= n ; i++)
{
fib[i] = fib[i-1] + fib[i-2];
}
std::cout << fib[n] << '\n';
}
[Try]
1. 피보나치 배열 사용해서 풀었음
2. 자료형 오버플로우가 날 수 있기 때문에 unsigned long long 으로 설정해준다
'PS > BOJ' 카테고리의 다른 글
[백준] 2309.cpp : 일곱 난쟁이 (0) | 2020.06.15 |
---|---|
[백준] 1316.cpp : 그룹 단어 체커 (0) | 2020.06.14 |
[백준] 1094.cpp : 막대기 (0) | 2020.06.12 |
[백준] 2941.cpp : 크로아티아 알파벳 (0) | 2020.06.11 |
[백준] 5086.cpp : 배수와 약수 (0) | 2020.06.10 |