#include <stdio.h>
int a[100];
int Fib(int n){
    printf("関数が開始されました。引数は%dです",n);
    /*これだと計算回数が多い
    int a,b;
    if(n==0){
        return 0;
    }else if(n==1){
        return 1;
    }else{
        return Fib(n-2)+Fib(n-1);
    }*/
   if(n==0) return 0;
   if(n==1) return 1;
   if(a[n]!=-1) return a[n];
   a[n]=Fib(n-1)+Fib(n-2);
   return a[n];
   
}
int main(){
    for(int i=0;i<100;i++){
        a[i]=-1;
    }
    printf("%d\n",Fib(6));
    
    return 0;

}