www.acmicpc.net/problem/2748

 

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

+ Recent posts