一个报数游戏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 arguments 传递给函数的隐含参数
Aug 21 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
Mar 15 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
Nov 08 Javascript
解析Javascript小括号“()”的多义性
Dec 03 Javascript
Javascript让DEDECMS告别手写Tag
Sep 01 Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 Javascript
javascript查询字符串参数的方法
Jan 28 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
Dec 14 Javascript
jQuery 防止相同的事件快速重复触发方法
Feb 08 jQuery
Vuex 使用及简单实例(计数器)
Aug 29 Javascript
javascript移动端 电子书 翻页效果实现代码
Sep 07 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中执行系统外部命令
2006/10/09 PHP
PHP中strtotime函数使用方法分享
2012/01/10 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
通过javascript设置css属性的代码
2009/12/28 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
2015/10/28 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
2019/05/16 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
python字符串中的单双引
2017/02/16 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
学习Python列表的基础知识汇总
2020/03/10 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
浅析Python的命名空间与作用域
2020/11/25 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
小组名称和口号
2014/06/09 职场文书
环保公益策划方案
2014/08/15 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
优秀教师推荐材料
2014/12/16 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
入党申请书怎么写?
2019/06/11 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书