一个报数游戏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 相关文章推荐
JQuery 获取和设置Select选项的代码
Feb 07 Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
Mar 16 Javascript
js中方法重载如何实现?以及函数的参数问题
Aug 01 Javascript
js 自动播放的实例代码
Nov 19 Javascript
document.forms[].submit()使用介绍
Feb 19 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
Oct 31 Javascript
使用bootstrap3开发响应式网站
May 12 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
Aug 10 Javascript
Vue.js实现备忘录功能
Jun 26 Javascript
ant-design-vue 快速避坑指南(推荐)
Jan 21 Javascript
原生js+css实现tab切换功能
Sep 17 Javascript
js中Object.create实例用法详解
Oct 05 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
php Rename 更改文件、文件夹名称
2011/05/24 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
Python异常的检测和处理方法
2018/10/26 Python
Python中安装easy_install的方法
2018/11/18 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
Python单元测试与测试用例简析
2019/11/09 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
Python实现GIF图倒放
2020/07/16 Python
美国家具网站:Cymax
2016/09/17 全球购物
Servlet的生命周期
2013/08/25 面试题
植树造林的宣传标语
2014/06/23 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
思品教学工作总结
2015/08/10 职场文书
运动会广播稿200字
2015/08/19 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP