알고리즘

백준 2748번 피보나치 수 2 C++

영춘권의달인 2022. 2. 26. 11:09

출처 : https://www.acmicpc.net/problem/2748

 

dp[ i ] = dp[ i - 2 ] + dp[ i - 1 ] , int 범위를 넘어가기 때문에 long long으로 선언하였다.

 

#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>

using namespace std;
using ll = long long;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	vector<ll> dp(91, 0);
	dp[1] = 1;
	int n;
	cin >> n;
	for (int i = 2; i <= n; i++) {
		dp[i] = dp[i - 2] + dp[i - 1];
	}
	cout << dp[n];
};