約瑟夫問題是乙個著名的趣題。這裡我們稍稍修改一下規則。有n個人站成一列。並從頭到尾給他們編號,第乙個人編號為1。然後從頭開始報數,第一輪依次報1,2,1,2...然後報到2的人出局。接著第二輪再從上一輪最後乙個報數的人開始依次報1,2,3,1,2,3...報到2,3的人出局。以此類推直到剩下以後乙個人。現在需要求的即是這個人的編號。
給定乙個intn,代表遊戲的人數。請返回最後乙個人的編號
5
5
#include #include using namespace std;
int getresult(int n)
vectortemp;
int m = 2;
//當佇列裡的人數不為1時
while (line.size() != 1)
line.clear();
line.push_back(temp[temp.size()-1]);
temp.pop_back();
for (j = 0; j < temp.size(); j++)
temp.clear();
m++;
}return line[0];
}int main()
約瑟夫問題 約瑟夫環
約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...
約瑟夫問題 約瑟夫環
約瑟夫問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也...
約瑟夫問題
這是17世紀的法國數學家加斯帕在 數目的遊戲問題 中講的乙個故事 15個教徒和15 個非教徒在深海上遇險,必須將一半的人投入海中,其餘的人才能倖免於難,於是想了乙個辦法 30個人圍成一圓圈,從第乙個人開始依次報數,每數到第九個人就將他扔入大海,如此迴圈進行直到僅餘15個人為止。問怎樣排法,才能使每次...