본문 바로가기
코딩캠프/BOJ

[2748] 피보나치수2

by 코곰_ 2024. 2. 14.
// 2748 피보나치수2
// 자료형에 주의 -> 오버플로우 
#include <bits/stdc++.h>

using namespace std;

int n;
long long arr[91] = {0, }; 
long long ans;


long long fib(int n){
	if(n<=1){
		arr[0] = 0;
		arr[1] = 1;
		return n;
	}
	else{
		if (arr[n] > 0){ // 답이 존재하면 
			return arr[n]; 
		}
		arr[n] = fib(n-1) + fib(n-2);
		return arr[n];
	}
}


// n은 90미만 정수  

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	cin >> n;
	
	
	fib(n);
	ans = arr[n];
	cout << ans;
		
	return 0;
}

'코딩캠프 > BOJ' 카테고리의 다른 글

[1717] 집합의 표현  (0) 2024.02.19
[2042] 구간 합 구하기  (1) 2024.02.15
[1991] 트리순회  (0) 2024.02.14
[2096] 내려가기  (0) 2024.02.14
[1927] 최소힙  (1) 2024.02.14