Heim > Artikel > Backend-Entwicklung > php解决约瑟夫环
<?php> #编号1到n的n个猴子围成一圈,从k号猴子开始从1报数,k+1号猴子报2,k+2号猴子报3........ 报到m就出局 剩下的重新从1报数,报到m出局,反复循环, 求最后剩下的那只猴子的编号。 function myf($array,$m,$n,$k){ $mark=0; $a=$m; $m=$m+$k-1; while(sizeof($array)){ $mark++; $out=array_shift($array); if($mark==$m){ if(sizeof($array)==0){ echo $out , '最终留下<br>'; }else{ $m=$a; echo $out , '出局<br>'; $mark=0; } }else{ $array[]=$out; } } } myf(range(1, 5),3,5,2);#测试一下,编号1到5的猴子,从2号开始由1报数,报到3的出局 ?>
以上就介绍了php解决约瑟夫环,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。