function search(m, k, i){//m个人,数到k退出,第i次退出的那个人的编号,从0开始
if(i==1)
return (m+k-1)%m;
else
return (search(m-1, k, i-1)+k)%m;
}
function search2(m, k){//m个人,数到k退出,最后一个人的编号,从0开始
var j = 0, s=0;
for(j=2; j<=m; j++){
s = (s+k)%j;
}
return s;
}
alert(search(10, 3, 10));
alert(search2(10, 3));
约瑟夫环的解法
约瑟夫环问题求解
最新推荐文章于 2024-12-24 22:22:45 发布
本文介绍了一种解决约瑟夫环问题的方法,通过递归函数 `search` 和非递归函数 `search2` 来计算指定人数和步长条件下被淘汰人员的顺序及其最后幸存者的编号。
593

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



