/*
* 煙台大學計算機與控制工程學院
* 完成日期:2023年9月18日
* 問題及**
* 問題描述:一群猴子,編號是1,2,3 …m,這群猴子(m個)按照1-m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依來, 直到圈中只剩下最後乙隻猴子,則該猴子為大王。輸入m和n,輸出為大王的猴子是幾號。
* 輸入描述:5 3
* 程式輸出:4 */
**:[cpp]view plain
copy
#include
using
namespace
std;
struct
monkey
; int
main()
else
p2->next=head; //最後乙隻再指向第一只,成了乙個圓圈
//下面要開始數了
p1=head;
for(i=1; i//迴圈m-1次,淘汰m-1只猴子
king=p1->num;
delete
p1;
} cout
0;
}
執行結果:
學習總結:
迴圈鍊錶是另一種形式的鏈式儲存結構。它的特點是表尾節點的指標域不再是空,而是指向頭結點,真個鍊錶形成乙個環。由此,從鍊錶中任一節點出發均可找到鍊錶中其他節點。
在迴圈單練不滿或迴圈雙鏈表l中,判斷表尾節點p的條件是p->next==l。
學習心得:
有些問題做起來挺有意思的。
第4周專案4 猴子選大王
問題及 檔名稱 猴子選大王.cpp 作 者 馬賽 完成日期 2016年9月23日 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最後乙隻猴子,則該猴子為大王。輸入m和n,輸出為大王的猴...
第4周專案5 猴子選大王
問題及 檔名稱 專案5 猴子選大王.cpp 作 者 王聰 完成日期 2015年10月5日 版 本 號 v1.0 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到 圈中只剩下最後乙隻猴子,則該猴子為...
第4周 專案5 猴子選大王
問題描述及 ifndef btree h included define btree h included 煙台大學計控學院 作 者 楊徵 完成日期 2015年12月18日 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離...