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+"号当选猴王");
本文介绍了一个有趣的数学问题——猴子选大王问题,并提供了一种递归算法来解决该问题,通过计算最终胜出猴子的序号。该算法采用 JavaScript 实现。
6574

被折叠的 条评论
为什么被折叠?



