哪只猴子可以當大王

2022-08-12 06:42:20 字數 510 閱讀 9622

一群猴子排成一圈,按 1,2,…,n 依次編號。然後從第 1 只開始數,數到第 m 只,把它踢出圈,從它後面再開始數,再數到第 m 只,再把它踢出去……,如此不停地進行下去,直到最後只剩下乙隻猴子為止,那只猴子就可以當大王。要求程式設計模擬此過程,輸入 m、n,輸出最後那個大王的編號。

首先將猴子從 1 到 n 編號存放在陣列中,對猴子的總個數進行迴圈,迴圈時將數到編號的猴子從陣列刪除,將沒有數到編號的猴子從原位置移到陣列末尾,移動後需將原位置的編號刪除。只要判斷該編號陣列個數大於 1 都繼續迴圈,直到陣列最後只剩下乙個編號,那麼這個編號就是當大王的猴子。

設 m=5,n=2,實現**如下:

function king($n, $m)

unset($monkeys[$i]);

$i++;

}return current($monkeys);

}$monkey = king(6,3);

echo "最後當王的猴子編號是". $monkey;

猴子當大王的故事

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

猴子選大王

方法一 include int main 初始化猴子全沒出局 值為0 int count 0 排除的猴子數量 int key 0 剩下的資料索引,即最後要得到的是陣列中第幾隻猴子是大王 int i 0,index 0 i代表計數器1 7,index代表陣列下標 while count 14 當猴子數...

猴子選大王

問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按 照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就 要離開此圈,這樣依次下來,直到圈中只剩下最後乙隻猴子,則該 猴子為大王。輸入m和n,輸出為大王的猴子是幾號。輸入描述 m個猴子和要出去的位數n。程式輸出 king是誰。inc...