注:約瑟夫問題的**實現需要鍊錶能夠迴圈,其次需要找準每次被殺物件,殺掉目標(將被殺物件的上乙個與其下乙個相連),輸出最後存活的物件。
**實現:
#include
using namespace std;
struct node
;struct node *
creat
(int n)
///建立雙向鍊錶。
tail->next=head;
///讓鍊錶得以迴圈。
head->front=tail;
return head;
}void
game
(struct node *head,
int n,
int x)
///遊戲開始。
p->next=p->next->next;
}printf
("%d"
,p->data);}
intmain()
約瑟夫問題 sdut 1197
約瑟夫問題 time limit 1000ms memory limit 65536k 題目描述 n個人想玩殘酷的死亡遊戲,遊戲規則如下 n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。請輸出最後乙個人的編號。輸入 輸入n和...
SDUT 1197 約瑟夫問題
約瑟夫問題 time limit 1000 ms memory limit 65536 kib problem description n個人想玩殘酷的死亡遊戲,遊戲規則如下 n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。...
約瑟夫問題 約瑟夫環
約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...