/*約瑟夫問題
n只猴子圍成一圈選大王(編號1~n),開始數數,數到m 的猴子退出圈外,剩下的猴子再接著從1開始數,
這樣直到圈內只剩下乙隻猴子時。這只猴子就是國王了。輸入n m . 輸入最後一行是0 0 對每行輸入輸出對應的猴王編號。*/
/*使用迴圈佇列 因為可以克服假溢位的現象*/
#include #include//#include//#define maxsize 100
typedef struct queuesqqueue;
void initqueue(sqqueue *q) //佇列初始化
void enqueue(sqqueue *q,int key) //入隊
else
q.q[q.tail]=key;
q.tail=tail;
}int dequeue(sqqueue *q) //出隊
else
return temp;
}void main()
for(i=1;i<=(m-1);i++)
if((q.head+1)%q.queuesize==q.tail) //佇列自身乙個元素時
}printf("%d",a);
}
約瑟夫問題 約瑟夫環
約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...
約瑟夫問題 約瑟夫環
約瑟夫問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也...
約瑟夫問題
這是17世紀的法國數學家加斯帕在 數目的遊戲問題 中講的乙個故事 15個教徒和15 個非教徒在深海上遇險,必須將一半的人投入海中,其餘的人才能倖免於難,於是想了乙個辦法 30個人圍成一圓圈,從第乙個人開始依次報數,每數到第九個人就將他扔入大海,如此迴圈進行直到僅餘15個人為止。問怎樣排法,才能使每次...