본문 바로가기

Coding/백준

1003번 피보나치 함수

계산해보면 0은 fibonacci(num-1) 개수 만큼 1은 fibonacci(num)만큼 출력을 한다

 


#include <iostream>
#include <queue>

#define MAX 41

using namespace std;

int Test[MAX];

int fibonacci(int n) {
    if(n==-1){
        return 1;
    }
    if(n==0) {
        return 0;
    }
    if(n==1) {
        return 1;
    }
    if(Test[n]!=0) return Test[n];
    
    return Test[n] = fibonacci(n-1) + fibonacci(n-2);
    
}

int main(){
    int number;
    
    cin>>number;
    
    queue<int> q;
    
    for(int i=0;i<number;i++){
        int M;
        cin >> M;
        q.push(M);
    }
    
    while(!q.empty()){
        int num = q.front();
        q.pop();
//        if(num>0){
//            cout << fibonacci(num-1) << " " << fibonacci(num)<< endl;
//        }
//        else
//            cout << "1 0" << endl;
        cout << fibonacci(num-1) << " " << fibonacci(num)<< endl;
    }
}

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

10844번 쉬운 계단 수  (0) 2019.09.06
3187번 양치기 꿍  (0) 2019.09.06
14502번 연구소  (0) 2019.09.03
1937번 욕심쟁이 판다  (0) 2019.09.03
2747번 피보나치 수 2  (0) 2019.09.03