約瑟夫問題(10分)
題目內容:有n只猴子,按順時針方向圍成一圈選大王(編號從1到n),從第1號開始報數,一直數到m,數到m的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王,程式設計求輸入n,m後,輸出最後猴王的編號。
輸入格式:輸入包含兩個整數,第乙個是n,第二個是m (0 < m,n <=300)。
輸出格式:輸出包含一行,即最後猴王的編號。
輸入樣例:18 2
輸出樣例:5
時間限制:500ms記憶體限制:32000kb
#include#includestruct node
;typedef struct node *list;
int main()
q->next = l;
p = l;
while (p->next != p)
temp = p->next;
p->next = temp->next;
free(temp);
} printf("%d\n", p->data-1);
}
約瑟夫問題(C語言 迴圈鍊錶)
實現 如下 include includetypedef struct nodelnode,linklist void josephus int n,int m,int k p data i 編號 if list null list p else x next p 將x和p節點串起來 x p x指標...
迴圈鍊錶實現約瑟夫問題
高階約瑟夫問題 總結 初學資料結構的迴圈鍊錶,正好利用迴圈鍊錶可以很容易的解決上述問題。include include include typedef int elemtype define len sizeof node define n 41 總人數 41 define m 3 密碼固定為3 t...
迴圈鍊錶實現約瑟夫環(c語言)
問題描述如下 編號為1,2 n的n個人按順時針方向圍坐一圈,每人持有乙個密碼。一開始人選乙個正整數作為報數上限值m,從第乙個人開始按順時針方向自1開始報數,報到m時停止報數,報m的人出列,將他的密碼作為新的m值,從他在順時針方向的下乙個人開始重新從1報數,直到所有人出列。設計程式求出列順序。問題分析...