//准备好41个人 $people = array(); for($i=0;$i<=40;$i++) { $people[] = $i+1; } /** * @param $people 准备好的数组 * @param $step 每到第几个人,会把他杀掉 * @param int $jsq 计数器,不用传 */ function killPeople($people, $step, $jsq = 0) { //开始杀人 $cnt = count($people); for($i=0;$i<$cnt;$i++) { $jsq++; if($jsq == $step) { echo $people[$i] . "号被杀掉了<br/>"; unset($people[$i]); $jsq = 0; } } if(count($people) == ($step - 1)) { die('<hr/>'.implode(',', $people) . '被留下了'); } killPeople(array_values($people), $step, $jsq); } killPeople($people, 3);
PHP解决约瑟夫环的问题
猜你喜欢
转载自blog.csdn.net/iioioooo4/article/details/50966249
今日推荐
周排行