int rfib (int n)
{
if (n == 0 || n == 1) return 1;
return rfib(n-1) + rfib(n-2);
}
int lfib (int n)
{
int fold1 = 1;
int fold2 = 1;
int fnew;
for (int i = 2; i <= n; i++) {
fnew = fold1 + fold2;
fold2 = fold1;
fold1 = fnew;
}
return fnew;
}
int rfib (int n)
{
if (n == 0 || n == 1) return 1;
return rfib(n-1) + rfib(n-2);
}
int lfib (int n)
{
int fold1 = 1;
int fold2 = 1;
int fnew;
for (int i = 2; i <= n; i++) {
fnew = fold1 + fold2;
fold2 = fold1;
fold1 = fnew;
}
return fnew;
}
이미 알고 묻는 거 아니냐
참고로 피보나치 수열 값 계산은 행렬 제곱을 이용하면 O(log n)에 가능함
피보나치 뭐가 빠르고 이런건 연봉에 전혀 도움 안되고, 니가 이걸 계기로 메모이제이션 테크닠을 배우게 되면 연봉에 약간 도움이 됨
전자 재귀가 바효율적 느림