遞歸——實現猴子選大王的問題

n個猴子圍成一圈,從某個開始報數1-2-3-1-2-3-……報“3”的猴子就被淘汰,遊戲一直進行到圈內只剩一隻猴子它就是猴大王了。

/*
    * 猴子選大王問題:
    * 功能:計算n個猴子選大王的解僱
    * 輸入參數:n個猴子的數量
    * 返回結果:當選猴王的序號(從0號開始)
    * */

    function selectKing(n){
        if(1 == n){
            return 0 ;
        }
        return (selectKing(n-1)+3)%n;
    }
    var n = Number(prompt("請輸入選舉猴子的數量"));
    //序號加1,就符合我們一般開始的數爲1;
    var selected = selectKing(n)+1;
    document.write("恭喜"+selected+"號當選猴王");


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章