一个报数游戏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 相关文章推荐
js实现DIV的一些简单控制
Jun 04 Javascript
javascript 面向对象编程基础:继承
Aug 21 Javascript
JS面向对象编程之对象使用分析
Aug 19 Javascript
jQuery-serialize()输出序列化form表单值的方法
Dec 26 Javascript
javascript 3d 逐侦产品展示(核心精简)
Mar 26 Javascript
jQuery的$.proxy()应用示例介绍
Apr 03 Javascript
javascript实用方法总结
Feb 06 Javascript
javascript与css3动画结合使用小结
Mar 11 Javascript
Angular.js中angular-ui-router的简单实践
Jul 18 Javascript
微信小程序中遇到的iOS兼容性问题小结
Nov 14 Javascript
在Vant的基础上封装下拉日期控件的代码示例
Dec 05 Javascript
原生JS实现pc端轮播图效果
Dec 21 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
adodb与adodb_lite之比较
2006/12/31 PHP
php生成随机密码的几种方法
2011/01/17 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
django删除表重建的实现方法
2019/08/28 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
如何让python的运行速度得到提升
2020/07/08 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
农场厂长岗位职责
2013/12/28 职场文书
大专会计自我鉴定
2014/02/06 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
员工保密承诺书
2014/05/28 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
python在package下继续嵌套一个package
2022/04/14 Python