php解决约瑟夫环示例

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

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

代码如下:
function killMonkeys($monkeys,$m){
$k = $m;
while (count($monkeys)){
$k = $k - 1;
$monkey = array_shift($monkeys);
if ($k) {
$monkeys[] = $monkey;
} else {
echo "" . $monkey . "号猴子毙了!
";
$k = $m;
} }
echo $monkey . "号猴子斯巴达了";
}
$monkeys = range(0,25);
unset($monkeys['0']);
$m = 5;
killMonkeys($monkeys,$m);

相关文章

如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较