一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈...
一 群猴子排成一圈,按1,2,…,n依次編號。然后從第1只開始數,數到第m只,把它踢出圈,從它后面再開始數,再數到第m只,在把它踢出去…,如此不停的 進行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n, 輸出最后那個大王的編號
?
<?php
//$n猴子個數 $m第幾個位置
function fn( $n, $m)
{
//將猴子數量放到數組內
for($i = 1; $i < $n+1; $i++){
$arr[] = $i;
}
$i = 0;
var_dump($i);
//當數組內只剩下一個值跳出數組
while(count($arr) > 1){
echo $i."\n";
if(($i + 1) % $m == 0){
//當循環次數滿足m值 去除掉當前值
unset($arr[$i]);
}else{
//不滿足循環次數 放到數組對尾
array_push($arr, $arr[$i]);
//刪除掉當前循環內容
unset($arr[$i]);
}
$i ++;
}
return $arr;
}
var_dump(fn(15,7));
轉載于:https://www.cnblogs.com/donizzh/p/4585314.html
總結
以上是生活随笔為你收集整理的一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript调用Flash里对象
- 下一篇: Python3.4连接Mysql