資料結構與演算法 約瑟夫問題

2022-08-01 10:00:17 字數 402 閱讀 8760

已知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 ...