一群猴子排成一圈,按1,2,...,n依次编号。
然后从第1只开始数,数到第m只,把它踢出圈,
从它后面再开始数,再数到第m只,在把它踢出去...,
如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。
示意图:
php代码:
1 $arr = [1,3,5,7,9,11,12,14,16]; 2 echo getLastOne($arr,12); 3 function getLastOne($arr,$m){ 4 $i= 0; 5 while(count($arr)!=1) { 6 7 8 if(($i+1)%$m==0){ 9 unset($arr[$i]); 10 }else{ 11 $arr[]=$arr[$i]; //array_push()也是调用这个 12 unset($arr[$i]); 13 } 14 $i++; 15 } 16 return $arr[$i]; 17 }