约瑟夫环的问题

function yuesefu($n,$m) {  
    $r=0;  
    for($i=2; $i<=$n; $i++) {
        $r=($r+$m)%$i;  
    }
    return $r+1;  
}  
echo yuesefu(10,3)."是猴王";

这个哪位大神可以给我解释一下。。。是什么样的逻辑?

ibeautiful
浏览 459回答 2
2回答

人到中年有点甜

问题描述 设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。 最后剩下的结点就是胜利者 问题思路 题中的方法是利用归纳过的公式 推到过程: 参考:约瑟夫问题
打开App,查看更多内容
随时随地看视频慕课网APP