兩種方法求解 約瑟夫環

2021-10-04 18:08:53 字數 384 閱讀 8595

題目描述:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為0的人開始報數,數到2的那個人出列;他的下乙個人又從0開始報數,數到2的那個人又出列;依此規律重複下去,直到圓桌周圍的人全部出列。

解法一:基於陣列實現

public void solution(int totalnum, int countnum) 

}i = i % totalnum;

}}

解法二:基於鍊錶實現

public listnode solution(listnode head, int countnum)

return p; // 返回最後乙個人

}

JAVA求解約瑟夫環

與前面我們介紹的大多數程式問題一樣,約瑟夫環問題也是來自於乙個故事。這個故事發生在乙個名叫約瑟夫的猶太人身上,據說在羅馬人占領喬塔帕特後,39 個猶太人與約瑟夫及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人到,於是決定了乙個自殺方式,41個人排成乙個圓圈,由第1個人 開始報數,每報數到第...

C 物件導向方法求解約瑟夫環問題

約瑟夫問題有很多種解法及其變種,這裡的約瑟夫環問題是這樣的 約瑟夫環 約瑟夫問題 是乙個數學的應用問題 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 依此規律重複下去,直到圓桌周圍的人全部出...

java解決約瑟夫環的兩種方法

選擇不同的資料結構,對於解決問題使用的演算法也會存在很大的不同,舉例分別使用組數和佇列來解決約瑟夫環問題。陣列解決約瑟夫環問題 param personnumber 人數 param number 數的數 public static void count int personnumber,int n...