美文网首页
php实现约瑟夫环问题

php实现约瑟夫环问题

作者: 舒小贱 | 来源:发表于2017-09-19 16:05 被阅读0次

    题目:一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再数到第m只,在把它踢出去…,如此不停的进行下去, 直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。

    //$n为总人数,$m为每m个人就踢掉一个
    <?php
    function get_king($n, $m){
        $arr = range(1, $n);
        $i = 0;
        while(count($arr) > 1){
            $i++;
            $curr = array_shift($arr);
            if($i%$m !=0){
                array_push($arr, $curr);
            }
        }
        return $arr[0];
    }
    
    $res = get_king(5,3);
    var_dump($res);
    

    运行结果为:

    D:\Program Files (x86)\360\skylar6\php>php 3.php
    int(4)
    

    相关文章

      网友评论

          本文标题:php实现约瑟夫环问题

          本文链接:https://www.haomeiwen.com/subject/hbzwsxtx.html