/*
*檔名稱:專案5--猴子選大王.cpp
*作 者:紀冬雪
*完成日期:2023年10月5日
*版 本 號:v1.0
*問題描述:一群猴子,編號是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; //將不在鍊錶中的結點放棄掉
}king=p1->num;
delete p1;
}cout<
return 0;
執行結果:
總結:
通過鍊錶的方法解決,這個問題是計算機學習的經典問題,在上學期的學習中也曾經學習過,但沒怎麼弄明白,現在通過注釋對這個問題有了剛深入地理解。鍛鍊了思維能力。
第四周 猴子選大王
專案 猴子選大王 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最後乙隻猴子,則該猴子為大王。輸入m和n,輸出為大王的猴子是幾號。include using namespace std stru...
第四周 猴子選大王
煙台大學計算機與控制工程學院 作 者 郝環宇 完成日期 9.23 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到 圈中只剩下最後乙隻猴子,則該猴子為大王。輸入m和n,輸出為大王的猴子是幾號。輸入...
第四周 猴子選大王
問題及 共有m只猴子,編號從1到m,從一開始數,第n只猴子離開。到最後剩下的乙隻為大王。求最後乙隻猴子的編號。include using namespace std struct monkey int main else p2 next head 最後乙隻再指向第一只,成了乙個圓圈 下面要開始數了 ...