约瑟夫环(猴子选大王)算法

猴子选大王算法

function seking($n,$m){
    //构建元素为n的数组
    for($i=1;$i<=$n;$i++){
        $arr[$i]=$i;
    }
    $tmp=1;
    //如果数组中的下标可以被m整除,则删除该数值
    //如果数组中的下标不被m整除,则该值移动到数组最后,删除该下标值
    while(count($arr)>1){
        if($tmp % $m != 0){
            $arr[]=$arr[$tmp];
        }
        unset($arr[$tmp]);
        $tmp++;
    }
    //返回剩下的最后一个值
    return $arr;
}
print_r(seking(14,10));die;

 

    原文作者:约瑟夫环问题
    原文地址: https://blog.csdn.net/weixin_42242253/article/details/85993391
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞