如果題目要求每個人手裡有乙個密碼,當這個人離開時,他應該將自己的密碼賦值給m,然後輸出自己,那麼法一實現起來就並不那麼容易了。這是使用單迴圈鍊錶無疑是乙個非常不錯的選擇。
單迴圈鍊錶,模擬了人的組織結構----一圈,並且不需要因為哪個人被踢出去,改變已有的組織結構(只需要動態刪除即可),也不需要設定標誌位。
對於鍊錶中的每個人,我們可以考慮給其乙個結構,內含有這個人的編號,以及密碼。當然,我們也可以設定乙個全域性的結構儲存,共有多少個人,已經出去了多少人,為了後來新的需求:假設剩下k個人後,程式就停止。
約瑟夫問題 約瑟夫環
約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...
約瑟夫問題 約瑟夫環
約瑟夫問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也...
約瑟夫環問題
約瑟夫環問題 問題描述 編號是1,2,n的n個人按照順時針方向圍坐一圈,每個人持有乙個密碼 正整數 一開始任選乙個正整數作為報數上限值m,從第乙個人開始順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,將他的密碼作為新的m值,從他在順時針方向的下乙個人開始重新從1報數,如此下去,直到所有人...