已知n個人(以編號1,2,3,...,n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下乙個人又從k開始報數,數到m的那個人又出列;一詞重複下去。直到圓桌的人全部出列。試用c++程式設計實現
#include #include #include #define error 0
typedef struct lnode
lnode, *linklist;
void josephus(int n, int k, int m)
// 把當前指標移動到第乙個報數的人
while(k--) r=p, p=p->link;
while(n--)
}main()
資料結構與演算法 約瑟夫問題
問題描述 編號為1 2 n 的小朋友圍成一圈,從編號為k 1 k n 的小朋友開始報數,報到m的小朋友出列,該小朋友的下一位重新開始從0開始報數,數到m的小朋友再次出列,依次類推,直到所有小朋友出列。由此產生乙個出列編號的佇列。package 鍊錶 author lyq on 2019 12 23 ...
資料結構與演算法03 約瑟夫問題
約瑟夫問題 39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓。於是決定了自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺。然後下乙個重新報數,直到所有人都自殺身亡為止。然而josephus 和他的朋友並不想遵從,joseph...
演算法和資料結構 約瑟夫問題
package com.structure.demo import android.os.bundle import android.util.log public class josephactivity extends activity class circlesinglelinkedlist ...