偶然看到技術群裡 發出這麼乙個問題
n 個人圍成一圈, 從1到3開始報數, 報到 3 的人 退出遊戲. 問,最後乙個留下來的人是 最開始的 誰?覺得挺有意思的, 就自己寫了一段:
利用 死迴圈 以及 達到最大值後, 初始化 i 的方法.很容易就可以解答這個問題./**
* @param n 圍成圈的人數
* @param m 報數最大值
* * n 個人圍成一圈, 從1到m開始報數, 報到 m 的人 退出遊戲. 問,最後乙個留下來的人是 最開始的 誰?
*/function getpeople(n,m)
var number = 1; // 定義 報的 數
var grouplen = group.length; // 總人數
for (var i = 0; i < i+1; i++)
if (grouplen == i + 1)
if(group.length == 1)
number++;
} console.log("獲勝者是:" + group[0])
}
約瑟夫環問題解決
問題描述 編號為1 n的n個士兵圍坐在一起形成乙個圈,從編號為1的士兵依次開始報數 1,2,3.依次報 數到m的士兵會被殺死出列,之後的士兵再從1開始報數。直到最後剩下一士兵。求這個士兵的編號。方法一 陣列 第一次做這個題的時候,第一反應就是用陣列來做。建立乙個boolean陣列,用true表示沒出...
約瑟夫問題解法,不是最優解
據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了乙個自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然後再由下乙個重新報數,直到所...
9 2練習題5 約瑟夫問題 題解
題目出處 洛谷 p1996 略有修改。題目描述 約瑟夫問題是乙個非常經典的問題。n個人 n 100 圍成一圈,從第乙個人開始報數,數到m的人出列,再由下乙個人重新從1開始報數,數到m的人再出圈,依次類推,直到所有的人都出圈,請輸出依次出圈人的編號。輸入格式 輸入一行包含兩個正數 n 和 m 以乙個空...