約瑟夫問題

2021-08-01 19:36:03 字數 658 閱讀 8852

這是17世紀的法國數學家加斯帕在《數目的遊戲問題》中講的乙個故事:

15個教徒和15 個非教徒在深海上遇險,必須將一半的人投入海中,其餘的人才能倖免於難,

於是想了乙個辦法:30個人圍成一圓圈,從第乙個人開始依次報數,每數到第九個人就將他扔入大海,

如此迴圈進行直到僅餘15個人為止。問怎樣排法,才能使每次投入大海的都是非教徒。

#includestruct node 

link[31]; /*30個人,0號元素沒有使用*/ 

int main() 

link[30].nextp=1; /*第30個人的指標指向第乙個人以構成環*/ 

j=30; /*j:指向已經處理完畢的陣列元素,從link[i]指向的人開始計數*/ 

for(i=0;i<15;i++) /*i:已扔下海的人數計數器*/ 

else break; /*計數到15則停止計數*/ 

link[j].no_out=0; /*將標記置 0,表示該人已被扔下海*/ 

}  for(i=1;i<=30;i++) /*輸出結果*/ 

printf("%c",link[i].no_out? '@':'+'); /*+:被扔下海, @:在船上*/ 

printf("\n"); 

}

約瑟夫問題 約瑟夫環

約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...

約瑟夫問題 約瑟夫環

約瑟夫問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也...

約瑟夫問題

這是17世紀的法國數學家加斯帕在 數目的遊戲問題 中講的乙個故事 15個教徒和15 個非教徒在深海上遇險,必須將一半的人投入海中,其餘的人才能倖免於難,於是想了乙個辦法 30個人圍成一圓圈,從第乙個人開始依次報數,每數到第九個人就將他扔入大海,如此迴圈進行直到僅餘15個人為止。問怎樣排法,才能使每次...