时间:2021-07-01 10:21:17 帮助过:27人阅读
一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号
// 基本思路,判断猴子是否为出局的,是就删除,不是就放在数据尾部
function xdw($m, $n){
for($i = 1; $i <= $n; $i++){
$arr[] = $i;
}
for($i = 0; count($arr)>1; $i++){
if( ($i + 1) % $m == 0){
unset($arr[$i]);
}else{
array_push($arr, $arr[$i]);
unset($arr[$i]);
}
}
return $arr;
}
print_r(xdw(2,10));
http://www.bkjia.com/PHPjc/1127370.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1127370.htmlTechArticle猴子选大王,猴子大王 一群猴子排成一圈,按1,2,,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到...