一個(gè)報(bào)數(shù)游戲js版(約瑟夫環(huán)問題)
更新時(shí)間:2010年08月05日 13:48:55 作者:
隨便給一個(gè)數(shù) 比如100,那么從1到100圍成一個(gè)圓圈,然后就類似123123報(bào)數(shù)一樣逢3就舍掉,一直這樣輪詢 那么最后剩下來的那個(gè)數(shù)是多少?
這個(gè)也算是老題目了,園子里邊也曾針對(duì)此題有過激烈的討論,那時(shí)候追求用oo來解決。如今既然又有人提了出來,我便抽了點(diǎn)時(shí)間寫了寫自己的想法:
<script type="text/javascript">
var a_game = function(pNum){
var players = [];
for(var i=1;i<=pNum;i++){
players.push(i);
}
var flag=0;
while(players.length>1){
var outPlayerNum = 0,len=players.length;
for(var i=0;i<len;i++){
flag++;
if(flag==3){
flag=0;
document.writeln("出局:"+players[i-outPlayerNum]);
players.splice(i-outPlayerNum,1);
outPlayerNum++;
}
}
}
return players[0];
};
document.writeln("<br/>剩下:"+a_game(100));
</script>
結(jié)果如下:
出局:3 出局:6 出局:9 出局:12 出局:15 出局:18 出局:21 出局:24 出局:27 出局:30 出局:33 出局:36 出局:39 出局:42 出局:45 出局:48 出局:51 出局:54 出局:57 出局:60 出局:63 出局:66 出局:69 出局:72 出局:75 出局:78 出局:81 出局:84 出局:87 出局:90 出局:93 出局:96 出局:99 出局:2 出局:7 出局:11 出局:16 出局:20 出局:25 出局:29 出局:34 出局:38 出局:43 出局:47 出局:52 出局:56 出局:61 出局:65 出局:70 出局:74 出局:79 出局:83 出局:88 出局:92 出局:97 出局:1 出局:8 出局:14 出局:22 出局:28 出局:35 出局:41 出局:49 出局:55 出局:62 出局:68 出局:76 出局:82 出局:89 出局:95 出局:4 出局:13 出局:23 出局:32 出局:44 出局:53 出局:64 出局:73 出局:85 出局:94 出局:5 出局:19 出局:37 出局:50 出局:67 出局:80 出局:98 出局:17 出局:40 出局:59 出局:86 出局:10 出局:46 出局:77 出局:26 出局:71 出局:31 出局:100 出局:58
剩下:91
復(fù)制代碼 代碼如下:
<script type="text/javascript">
var a_game = function(pNum){
var players = [];
for(var i=1;i<=pNum;i++){
players.push(i);
}
var flag=0;
while(players.length>1){
var outPlayerNum = 0,len=players.length;
for(var i=0;i<len;i++){
flag++;
if(flag==3){
flag=0;
document.writeln("出局:"+players[i-outPlayerNum]);
players.splice(i-outPlayerNum,1);
outPlayerNum++;
}
}
}
return players[0];
};
document.writeln("<br/>剩下:"+a_game(100));
</script>
結(jié)果如下:
復(fù)制代碼 代碼如下:
出局:3 出局:6 出局:9 出局:12 出局:15 出局:18 出局:21 出局:24 出局:27 出局:30 出局:33 出局:36 出局:39 出局:42 出局:45 出局:48 出局:51 出局:54 出局:57 出局:60 出局:63 出局:66 出局:69 出局:72 出局:75 出局:78 出局:81 出局:84 出局:87 出局:90 出局:93 出局:96 出局:99 出局:2 出局:7 出局:11 出局:16 出局:20 出局:25 出局:29 出局:34 出局:38 出局:43 出局:47 出局:52 出局:56 出局:61 出局:65 出局:70 出局:74 出局:79 出局:83 出局:88 出局:92 出局:97 出局:1 出局:8 出局:14 出局:22 出局:28 出局:35 出局:41 出局:49 出局:55 出局:62 出局:68 出局:76 出局:82 出局:89 出局:95 出局:4 出局:13 出局:23 出局:32 出局:44 出局:53 出局:64 出局:73 出局:85 出局:94 出局:5 出局:19 出局:37 出局:50 出局:67 出局:80 出局:98 出局:17 出局:40 出局:59 出局:86 出局:10 出局:46 出局:77 出局:26 出局:71 出局:31 出局:100 出局:58
剩下:91
相關(guān)文章
Javascript表單驗(yàn)證要注意的事項(xiàng)
JavaScript 可用來在數(shù)據(jù)被送往服務(wù)器前對(duì) HTML 表單中的這些輸入數(shù)據(jù)進(jìn)行驗(yàn)證。被 JavaScript 驗(yàn)證的這些典型的表單數(shù)據(jù)有:用戶是否已填寫表單中的必填項(xiàng)目?用戶輸入的郵件地址是否合法?用戶是否已輸入合法的日期?用戶是否在數(shù)據(jù)域 (numeric field) 中輸入了文本?2014-09-09
javaScript同意等待代碼實(shí)現(xiàn)心得
javaScript功能描述:本程序?qū)崿F(xiàn)在同意某某協(xié)議頁面對(duì)同意按鈕進(jìn)行十秒鐘的禁用,同時(shí)在按鈕的Value顯示倒計(jì)時(shí)。2011-01-01
javascript實(shí)現(xiàn)在某個(gè)元素上阻止鼠標(biāo)右鍵事件的方法和實(shí)例
這篇文章主要介紹了javascript實(shí)現(xiàn)在某個(gè)元素上阻止鼠標(biāo)右鍵事件的方法和實(shí)例,需要的朋友可以參考下2014-08-08
基于casperjs和resemble.js實(shí)現(xiàn)一個(gè)像素對(duì)比服務(wù)詳解
這篇文章主要給大家介紹了關(guān)于基于casperjs和resemble.js實(shí)現(xiàn)一個(gè)像素對(duì)比服務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
javascript字體顏色控件的開發(fā) JS實(shí)現(xiàn)字體控制
小編給大家?guī)硪粋€(gè)用javascript編寫的能控制字體大小個(gè)顏色等基本信息的控件寫法,喜歡的嘗試編寫一下。
2017-11-11 
