一群猴子排成一圈,按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));


免責聲明!

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



猜您在找 一群猴子排成一圈,按1,2,…,n依次編號。然后從第1只開始數,數到第m只,把它踢出圈 一群猴子排成一圈,按1,2,...,n依次編號。然后從第1只開始數,數到第m只,把它踢出圈,從它后面再開始數,再數到第m只,在把它踢出去...,如此不停的進行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n, 輸出最后那個大王的編號 一群猴子排成一圈,按1,2,...,n依次編號 C# 有N個人圍成一圈,第一個人從1開始報數,報到M的人出列,求依次出列的人的編號 C語言 約瑟夫圈問題:N個人圍成一圈,從第一個人開始按順序報數並編號1,2,3,……N,然后開始從第一個人轉圈報數,凡是報到3的退出圈子。則剩下的最后一個人編號是多少。 面試題-python3 100個人圍一圈編號1-100,依次開始報數報到3的退出 有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。 有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。 【JAVA習題二十七】有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下 有n個人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM