본문 바로가기
백준

[1003] 피보나치 함수

by Jcoder 2018. 7. 23.


#include <iostream>
#define MAX 40
using namespace std;
int memo_fib(int n);
int main()
{
int n, testcase;
cin >> testcase;
for (int i = 0; i < testcase; i++)
{
cin >> n;
if (n == 0)
cout << "1 0\n";
else
cout << memo_fib(n-2) << " " << memo_fib(n - 1) << endl;
}
return 0;
}
int memo_fib(int n)
{
static int M[MAX] = { 1, 1 };
if (n <= 1)
return M[n];
if (M[n] == 0)
M[n] = memo_fib(n - 1) + memo_fib(n - 2);
return M[n];
}


'백준' 카테고리의 다른 글

[11051] 이항 계수 2  (0) 2018.07.23
[11050] 이항 계수 1  (0) 2018.07.23
[2749] 피보나치 수 3  (0) 2018.07.23
[2748] 피보나치 수 2  (0) 2018.07.23
[2747] 피보나치 수  (0) 2018.07.23