問題描述:一群猴子,編號是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; //將不在鍊錶中的結點放棄掉
約瑟夫問題的揭發。
在學習c++的時候曾經接觸過這種問題,記得當時不太會,現在細細品味還是慢慢的懂了
猴子選大王
方法一 include int main 初始化猴子全沒出局 值為0 int count 0 排除的猴子數量 int key 0 剩下的資料索引,即最後要得到的是陣列中第幾隻猴子是大王 int i 0,index 0 i代表計數器1 7,index代表陣列下標 while count 14 當猴子數...
猴子選大王
問題 檔名稱 專案5.cpp 作 者 秦緒龍 完成日期 2016年9月23日 版 本 號 v1.0 問題描述 一群猴子,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈。從第1只開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到 圈中只剩下最後乙隻猴子,則該猴子為大王。輸入m...
猴子選大王
題目 思路 對於鍊錶題,我們要先定義它的結構體,比如像這道題,既然要排號,我們將該定義乙個id,儲存編號資訊。提示中要求用環形鍊錶,我們就要想何為環形鍊錶,對於單鏈表而言,無非就是讓最後乙個節點next指向頭節點。include include includetypedef struct node ...