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

2021-07-05 13:50:24 字數 989 閱讀 2789

問題及**:

/*

*煙台大學計算機與控制工程學院

*作 者:楊甯

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

*問題描述:一群猴子,編號是1、2、3、、、m,這群猴子按照1-m的順序圍坐一圈。從第一只開始數,

每數到第n個,該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最後乙隻猴子,則該猴子為大王。

輸出m和n,輸出為大王的猴子是幾號。*/

#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; //將不在鍊錶中的結點放棄掉

}king=p1->num;

delete p1;

}cout執行結果:

假設有七隻猴子,疏導4的就出局,最後剩下2,即第二隻猴子為大王。

知識點及總結:

用乙個迴圈的單鏈表來表示這一群猴子。表示節點的結構體中有兩個成員:乙個儲存猴子的編碼,乙個為指向下乙個的指標,編號為m的結點,以次構成環形的鏈。當數到第n個時,該結點被刪除,繼續數,直到只有乙個結點,就是該結果。

學習心得:

在之前也遇到過類似的問題,但是沒有用過鍊錶這種方法,以後再遇到類似的問題,又多了一種解決方法。

第四周 專案5 猴子選大王

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

第四周 專案5 猴子選大王

檔名稱 專案5 猴子選大王.cpp 作 者 呂云雙 完成日期 2015年10月1日 版 本 號 v1.0 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最後乙隻猴子,則該猴子為大王。輸...