一群猴子排成一圈,按1,2,…,n依次編號。然后從第1只開始數,數到第m只,把它踢出圈


* 一群猴子排成一圈,按1,2,…,n依次編號。然后從第1只開始數,數到第m只,把它踢出圈,
 * 從它后面再開始數,再數到第m只,在把它踢出去…,如此不停的進行下去,
 * 直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n, 輸出最后那個大王的編號*/

 

剛開發搞PHP一周,看了下面試題。如是乎寫下實現方法,可能有錯誤。

 

 

<html>
<head>
    <title>測試表單提交</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<?php
    $monkeys[]='';
    $m=45;
    $n=6;
    $index=0;
    for($i=0;$i<45;$i++)
    {
        $monkeys[$i]=$i+1;
    }
echo $m."只猴子排成一圈,按1,2,…,45依次編號。然后從第1只開始數,數到第".$n."只,把它踢出圈,最后剩下編號為";
function whoisKing($monkeys,$n,$index){
    if(count($monkeys)==1){
        echo $monkeys[0].'的猴子,他就是猴王!誰不服氣';
        return;
    }
    //echo "當前還剩".count($monkeys)."個猴子如下<br/>";

    for($i=0;$i<count($monkeys);$i++){
        //echo $monkeys[$i]." ";
    }
    //echo "<br/>";
    $tempIndex=$index;
    $tempCount=count($monkeys);
    for($i=0;$i<$tempCount;$i++){
        if(($i+1+$index)%$n==0)
        {
            //echo $monkeys[$i]."出局<br/>";
            unset($monkeys[$i]);
        }
        $tempIndex++;
        $tempIndex=$tempIndex%$n;
    }


    whoisKing(array_values($monkeys),$n,$tempIndex);

}
whoisKing($monkeys,$n,$index);



?>
</body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 一群猴子排成一圈,按1,2,...,n依次編號。然后從第1只開始數,數到第m只,把它踢出圈,從它后面再開始數,再數到第m只,在把它踢出去...,如此不停的進行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n, 輸出最后那個大王的編號 面試題-python3 100個人圍一圈編號1-100,依次開始報數報到3的退出 有n個人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位 有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。 n人圍成一圈報數 【轉】約瑟夫環算法---------題目:有n個人圍成一圈,順序排號,從第一個開始報數(從1到3報數),凡報到3的人退出圈子,問最后最后留下的是原來第幾號的那位. 約瑟夫環問題:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。 5、題目:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。 思路:n長度的數組,boolean類型。出圈置為false,當最后只有一個true的時候,就是留下來的人。 13個人圍成一圈,從第1個人開始順序報號1,2,3。凡報到3者退出圈子。找出最后留在圈子中的人原來的序號。要求用鏈表實現 用偽代碼表示第4題中各題的算法 有兩個瓶子A和B,分別盛放醋和醬油,要求將他們互換 依次將10個數輸入,要求輸出其中最大的數 有3個數a,b,c, 要求按大小順序把他們輸出 求1 + 2 + 3 + ... + 100 判斷一個數n能否同時被3和5整除 求兩個數m和n的最大公約數
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM