Javascript母羊が子羊を生む問題は、再帰する.

2118 ワード


農場で羊を買いました.この羊は1年目は羊で、2年目の年末に一匹の羊が生まれます.3年目は羊を産まないで、4年目の年末にまた次の羊が生まれます.5年目に死んでしまいました.
N年の時農場に羊が何匹いますか?
 
【すべての場合、「生涯二、二生三、三生万物」という問題に遭遇したら、必ず再帰的アルゴリズム(ついでにフィボナッチ数列と連絡します)を使います.以下はjsの完全なコードです.
function sheepNum(year){

    var num = 1;

    for(var i=1; i<=year; i++){

        if(i==2){

            num += sheepNum(year - 2);

        }else if(i==4){

            num += sheepNum(year - 4);

        }else if(i==5){

            num--;

        }

    }

    return num;

}



//     8        

console.log(sheepNum(8));
 
 
 
 
 
--
階乗の再帰アルゴリズム factoral [fメッセージk]tɔrɪəl) 
  • adj.係数の、階乗の
  • var i,s;
    
    function factorial (i){
    
        if(i > 1){
    
            s = i * factorial(i-1);
    
        }else{
    
            s = i;
    
        }
    
        return s;
    
    }
    
    factorial(3);
     
     
    --