第四周 專案5猴子選大王

2021-07-05 23:07:36 字數 1072 閱讀 6079

/*         

* all right reserved.

* 檔名稱:houzhui.cpp

* 作 者: 商文軻

* 完成日期:2023年10月18日

* 版 本 號:v1.9

問題描述:一群猴子,編號是1,2,3 …m,這群猴子(m個)按照1-m的順序圍坐一圈。

從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到

圈中只剩下最後乙隻猴子,則該猴子為大王。輸入m和n,輸出為大王的猴子是幾號。

輸入描述:猴子的個數m和每次要數到出去的位數n。

程式輸出:猴子king是誰。

*/

#include using namespace std;

struct monkey

;int main()

else

p2->next=head; //最後乙隻再指向第一只,成了乙個圓圈

//下面要開始數了

p1=head;

for(i=1; inext; //圍成圈的,可能再開始從第一隻數,如果還未被淘汰的話

//找到了,

p2=p1->next; //p2將被刪除

cout

p1=p2->next; //下一輪數數的新起點

delete p2; //將不在鍊錶中的結點放棄掉

總結:1先建立猴子圍成的圈。一次增加乙個猴子,利用p1p2的移動建立起單鏈表,再將最後乙隻指向第一只,就形成了乙個圈。

2 依次淘汰時,利用刪除的技巧,「架空」要刪除的節點,即取消要刪除的節點和前後節點的聯絡,而讓它的前後節點直接聯絡起來。

3注意考慮迴圈次數。

第四周 專案5 猴子選大王

問題及 all right reserved.檔名稱 main.cpp 完成日期 2015年9月25日 版本號 v1.0 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最後乙隻猴子,則...

第四周專案(5) 猴子選大王

問題及 煙台大學計算機與控制工程學院 作 者 楊甯 完成日期 2015年10月3日 問題描述 一群猴子,編號是1 2 3 m,這群猴子按照1 m的順序圍坐一圈。從第一只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最後乙隻猴子,則該猴子為大王。輸出m和n,輸出為大王的猴子是幾...

第四周專案5 猴子選大王

01.04.檔名稱 專案5 猴子選大王.cpp 05.作 者 高露 06.完成日期 2015年10月5日 07.版 本 號 v1.0 08.09.問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。10.從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,...