본문 바로가기
Algorithm

memoization 기법을 이용한 피보나치 수열

by Edward Agape Kim 2023. 6. 26.
#include <iostream>

using namespace std;

long long memo[100];

long long fib(int n)
{
	if(n<=2) return 1;
	if(memo[n] != 0) return memo[n];
	else{
		memo[n] = fib(n-1)+fib(n-2);
		return memo[n];
	}
}

int main()
{
	long long n;
	cin >> n;
	cout << fib(n);
	
	return 0;
}
#include <iostream>

using namespace std;

long long memo[100];

long long fib(int n)
{
	if(n<=2) return 1;
	if(!memo[n]){
		memo[n] = fib(n-1)+fib(n-2);
	}
	return memo[n];
}

int main()
{
	long long n;
	cin >> n;
	cout << fib(n);
	
	return 0;
}
#include <iostream>
#include <vector>

using namespace std;

vector<long long> memo;

long long fib(long long n)
{
	if(n<memo.size()) return memo[n];
	else{
		memo.push_back(fib(n-1)+fib(n-2));
		return memo[n];
	}
}

int main()
{
	long long n;
	cin >> n;
	memo.push_back(0);
	memo.push_back(1);
	cout << fib(n);
	
	return 0;
}

'Algorithm' 카테고리의 다른 글

Codeup 3006: 완전 제곱수 찾기  (0) 2023.11.09
Edmonds-Karp  (2) 2023.08.29
탐구활동 2  (0) 2023.04.07
탐구 활동 1  (0) 2023.04.07
숫자 뒤집기(S)  (0) 2023.04.04