작성일 :

문제 링크

10870번 - 피보나치 수 5

설명

피보나치 수열에서 n 번째 피보나치 수를 구하는 문제입니다.

피보나치 수열을 구현하는 방법에는 여러 가지가 있지만,

문제에서의 n 의 범위를 고려하여 다이나믹 프로그래밍을 활용하여 풀이하였습니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace Solution {
  class Program {
    static void Main(string[] args) {

      const int MAX = 21;

      var fibo = new int[MAX];
      fibo[0] = 0; fibo[1] = 1;

      var n = int.Parse(Console.ReadLine()!);

      for (int i = 2; i <= n; i++)
        fibo[i] = fibo[i - 1] + fibo[i - 2];

      Console.WriteLine(fibo[n]);

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <bits/stdc++.h>

#define MAX 21

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  vector<int> fibo(MAX);
  fibo[0] = 0; fibo[1] = 1;

  int n; cin >> n;

  for (int i = 2; i <= n; i++)
    fibo[i] = fibo[i - 1] + fibo[i - 2];

  cout << fibo[n] << "\n";

  return 0;
}