一个报数游戏js版(约瑟夫环问题)


Posted in Javascript onAugust 05, 2010

这个也算是老题目了,园子里边也曾针对此题有过激烈的讨论,那时候追求用oo来解决。如今既然又有人提了出来,我便抽了点时间写了写自己的想法:

<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>

结果如下:
出局: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
Javascript 相关文章推荐
javascript动态添加表格数据行(ASP后台数据库保存例子)
May 08 Javascript
jquery 删除cookie失效的解决方法
Nov 12 Javascript
AngularJS语法详解
Jan 23 Javascript
jQuery插件zepto.js简单实现tab切换
Jun 16 Javascript
基于Node.js实现nodemailer邮件发送
Jan 26 Javascript
学习使用jquery iScroll.js移动端滚动条插件
Mar 24 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
Three.js开发实现3D地图的实践过程总结
Nov 20 Javascript
js+canvas实现滑动拼图验证码功能
Mar 26 Javascript
vuex Module将 store 分割成模块的操作
Dec 07 Vue.js
vue watch监控对象的简单方法示例
Jan 07 Vue.js
如何用JavaScript学习算法复杂度
Apr 30 Javascript
JS 实现完美include载入实现代码
Aug 05 #Javascript
使用ExtJS技术实现的拖动树结点
Aug 05 #Javascript
JavaScript 获取当前时间戳的代码
Aug 05 #Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
Aug 05 #Javascript
Js获取事件对象代码
Aug 05 #Javascript
zeroclipboard复制到剪切板的flash
Aug 04 #Javascript
jQuery Study Notes学习笔记 (二)
Aug 04 #Javascript
You might like
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
php制作的简单验证码识别代码
2016/01/26 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
php判断目录存在的简单方法
2019/09/26 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
python3.6的venv模块使用详解
2018/08/01 Python
python3 拼接字符串的7种方法
2018/09/12 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
python是怎么被发明的
2020/06/15 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
建筑毕业生自我鉴定
2013/10/18 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
毕业生见习报告总结
2014/11/08 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
公司费用报销管理制度
2015/08/04 职场文书
「月刊Action」2022年5月号封面公开
2022/03/21 日漫