一个报数游戏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 Dialog 实践分享
Oct 22 Javascript
jquery在Chrome下获取图片的长宽问题解决
Mar 20 Javascript
JavaScript中setAttribute用法介绍
Jul 20 Javascript
封装的jquery翻页滚动(示例代码)
Nov 18 Javascript
javascript制作的简单注册模块表单验证
Apr 13 Javascript
JS扩展方法实例分析
Apr 15 Javascript
JavaScript访问字符串中单个字符的两种方法
Jul 03 Javascript
简介alert()与console.log()的不同
Aug 26 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
Apr 15 Javascript
Vue CLI3 如何支持less的方法示例
Aug 29 Javascript
js html实现计算器功能
Nov 13 Javascript
jQuery 实现扁平式小清新导航
Jul 07 jQuery
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
PHP5 安装方法
2007/01/15 PHP
php中explode与split的区别介绍
2012/10/03 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
使用Python求解最大公约数的实现方法
2015/08/20 Python
深入理解Python中的内置常量
2017/05/20 Python
Python协程的用法和例子详解
2017/09/09 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
Python异常处理操作实例详解
2018/08/28 Python
Python Cookie 读取和保存方法
2018/12/28 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
Django框架 querySet功能解析
2019/09/04 Python
Python pip配置国内源的方法
2020/02/14 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
文明青少年标兵事迹材料
2014/01/28 职场文书
老师对学生的评语
2014/04/18 职场文书
五年级学生评语
2014/04/22 职场文书
大学生毕业求职信
2014/06/12 职场文书
合伙购房协议样本
2014/10/06 职场文书
2014年党员整改措施
2014/10/24 职场文书
教你用python实现12306余票查询
2021/06/30 Python