php解决约瑟夫环示例

网络编程 2021-07-05 09:49www.168986.cn编程入门
这篇文章主要介绍了php解决约瑟夫环示例,需要的朋友可以参考下

约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.)

猴子一群,都带着号码的,站好了一圈,数到m的枪毙,剩下的接着数。如此往复,死剩下的一个就疯了

代码如下:

<?php
function killMonkeys($monkeys, $m){
    $k = $m;
    while (count($monkeys)){
        $k = $k - 1;
        $monkey = array_shift($monkeys);
        if ($k) {
           $monkeys[] = $monkey;
        } else {
            echo "<font color='red'>" . $monkey . "</font>号猴子毙了!<br/>";
            $k = $m;
        }

    }
    echo $monkey . "号猴子斯巴达了";
}
$monkeys = range(0, 25);
unset($monkeys['0']);
$m = 5;
killMonkeys($monkeys, $m);

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by