//length表示總?cè)藬?shù)
//start表示從第幾個(gè)人開(kāi)始
//th表示數(shù)到幾消亡
function Joseph(length,start,th=3){
if(start>length){
console.log("ERROR:開(kāi)始位置大于總長(zhǎng)度");
return
}
//首先建立一個(gè)數(shù)組 數(shù)組中的1表示存在者;0表示消亡者
var array=[];
for(let i=0;i<length;i++){array.push(1);}
// count表示報(bào)數(shù)到了幾;
// sum表示還剩下幾個(gè)人;
// pos表示報(bào)數(shù)者的位置;
var pos=start-1;
var sum=length;
var count=0;
// 當(dāng)就剩下一個(gè)人的時(shí)候 停止報(bào)數(shù)
while(sum>1){
count+=array[pos];
// 當(dāng)報(bào)數(shù)者為th的時(shí)候 該報(bào)數(shù)者消亡 總?cè)藬?shù)-1 報(bào)數(shù)重置為0
if(count===th){
array[pos]=0;
sum--;
count=0;
}
// 當(dāng)一輪報(bào)數(shù)完畢時(shí)候 從頭再繼續(xù)報(bào)數(shù)
if(pos===length-1){
pos=0;
}
else{
pos++
}
}
// 報(bào)數(shù)完畢后 輸出最后幸存者的索引值
console.log("幸存者位置為:"+(array.indexOf(1)+1))
}
Joseph(4,6);
算法 js 解決約瑟夫問(wèn)題
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 數(shù)據(jù)結(jié)構(gòu)與算法-目錄 前言 據(jù)說(shuō)著名猶太歷史學(xué)家 Josephus有過(guò)以下的故事:在羅馬人占領(lǐng)喬塔帕特后,39 個(gè)...
- 前言 本文編程語(yǔ)言使用Java 問(wèn)題概述 據(jù)說(shuō)著名猶太歷史學(xué)家 Josephus有過(guò)以下的故事:在羅馬人占領(lǐng)喬塔帕...
- 怎樣反思自己的教學(xué)——學(xué)習(xí)杜威《我們?cè)鯓铀季S》有感 2015-01-13 14:56:52 來(lái)源:普寧市第三中學(xué)網(wǎng)...
- 什么是約瑟夫環(huán)呢?約瑟夫環(huán)(約瑟夫問(wèn)題)是一個(gè)數(shù)學(xué)的應(yīng)用問(wèn)題:已知n個(gè)人(以編號(hào)1,2,3...n分別表示)圍坐在...