導航:首頁 > 編程語言 > 約瑟夫集合java

約瑟夫集合java

發布時間:2025-02-24 23:46:39

『壹』 java中「index=-1」是什麼意思

某些查詢方法中,如果沒有查找到你想要的結果,就會返回-1,表示沒有查找到。

『貳』 java循環單鏈表實現約瑟夫環,我的代碼出列順序不正確

你的remove方法不對,你的方法每次刪掉的是從head開始第m個位置的節點,
但約瑟夫環需要的內是容要刪掉每次循環數到m的位置的節點。
remove方法可以去掉,再把out方法改一下就可以了。
public void out(int m) throws Exception {
Node p = head;
Node pre = null;
int count = 1;
while (curlen > 0) {
if (count == m) {
System.out.print(p.getData() + " ");
if(pre != null){
pre.setNext(p.getNext());
}
p = p.getNext();
curlen = curlen - 1;
count = 1;
} else {
pre = p;
p = p.getNext();
count++;
}
}
}

『叄』 java編程17人編號為0-16圍成一圈,0號人開始從1報數,凡是報數為3倍數的人離開圈子,繼續到一個,問他編號

這是一個約瑟夫環的問題
解答如下:
依據提議,可以將題目等價變換為:「n(n=17)人編號為0到(n-1)圍成一圈,0號人開始從0報數,凡是報數為m-1 (m=3)倍數的人離開圈子,繼續到一個,問他編號」
一開始的狀態
0,1,2,3,4,5 ..... (n-2), (n-1) 【n個人】
第一個人被踢之後 設第一個被踢的人的編號為k, 則 k = m%n-1 【當n=17,m=3時,k=2。也就是說編號為2的人離開了圈子】
這時候的狀態
0, .... (k-1), (k+1) ,(k+2)...(n-2),(n-1) 【(n-1)個人,當n=17,m=3時: 0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16】
將這時候的編號做轉換. 因為是圍城一個圈子,下一個開始數的是(k+1).所以也可以表示為
(k+1),(k+2) ... (n-2),(n-1),0....(k-1) 【(n-1)個人,當n=17,m=3時: 3,4,5,6,7,8,9,10,11,12,13,14,15,16,0,1】
重新編號。得到:
0,1,2,3,4...(n-3),(n-2)【(n-1)個人】 這個時候 ,這里重新構成了一個約瑟夫環。也就是說,這是一個遞推的關系。
這里我們進行了重新編號。那麼 (n-1)個人和 n個人之間的編號不一樣的。但是兩者之間有一定的關系,可以沖新編號推導出老的
公式如下: i' = (i+k)%(n-1) 【比如,當n=17,m=3時 . 新的環編號是 (n-2),我要求他在老的環中的編號,那麼編號是 i' = ( (n-2) + k ) % (n-1) = 17%16 = 1,就是老的換種編號為1的那一個 】
反過來有 :i = (i'+m)%n
有了上面的推斷,可以代碼如下:

int ysf(int n,int m){
if(n==1){
return 0; //當環內只有一個人的時候,就是他自己
}
return (ysf(n-1,m) + m ) % n ;
}

------------------完整代碼---------------------
public class Test{
public static void main(String[] args){
int a = 17;
int b = 3;
System.out.println(ysf(a,b));
}

static int ysf(int n,int m){
if(n==1){
return 0;
}
return (ysf(n-1,m) +m) % n;
}
}

閱讀全文

與約瑟夫集合java相關的資料

熱點內容
字體在那個文件夾 瀏覽:342
蘋果4真機體驗 瀏覽:551
世界盃買在哪個app 瀏覽:631
魔力寶貝37版本 瀏覽:115
迷你編程的兌換碼是什麼 瀏覽:359
換一個文件櫃玻璃大概多少錢 瀏覽:971
什麼是代理網路 瀏覽:805
axure怎麼發布到手機app 瀏覽:227
如何做動漫視頻教程 瀏覽:331
蘋果公司企業架構 瀏覽:152
順豐錄音文件管理在哪裡 瀏覽:521
象山新建網站製作有哪些步驟 瀏覽:686
什麼app可以查化妝品的日期 瀏覽:174
中國移動香港的網路制式 瀏覽:752
編程在五行中屬什麼 瀏覽:54
中青校園app可以發什麼文章 瀏覽:397
主文件組可以存放哪些類型的文件 瀏覽:678
有沒有id和賬號和密碼 瀏覽:5
形勢和政策用什麼app 瀏覽:340
統贏編程nc文件輸出路徑設定 瀏覽:849

友情鏈接