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;
}