PHP基于关联数组20行代码搞定约瑟夫问题示例


Posted in PHP onNovember 07, 2017

本文实例讲述了PHP基于关联数组20行代码搞定约瑟夫问题。分享给大家供大家参考,具体如下:

记得前段时间一写做java开发的兄弟对我说他java60行做了个约瑟夫问题,挺不错的。调侃php应该写这个挺不行的。

于是 呵呵。。。 洋洋洒洒 20行,写完自己都有些不相信了。哈哈 让不了解php的见识哈php的快捷轻便之处。

ps:其实个人挺反感用代码行数来衡量代码数量的,感觉常把代码行数挂嘴边的大多无奈装2。此文仅属闲余娱乐。

回顾一下约瑟夫问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1。

实现代码如下:

<?php
$n=7;
echo "well,let us test $n<br/>";
for($i=1;$i<$n;$i++){
$a["$i"]=$i+1;
$flag[$i]="in";
}
$a["$n"]=1;
foreach($a as $key=>$value){
echo $key."=>".$value."</br>";
}
$key=1;$out=0;$r=0;
while($out<$n){
$r++;
if($r==2){
echo"$a[$key]<br/>";// out
$a[$key]=$a[$a[$key]];
$out++;$r=0;
}
$key=$a[$key];
}

运行结果:

PHP基于关联数组20行代码搞定约瑟夫问题示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
发挥语言的威力--融合PHP与ASP
Oct 09 PHP
php基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
Smarty结合Ajax实现无刷新留言本实例
Jan 02 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
Jun 30 PHP
细谈php中SQL注入攻击与XSS攻击
Jun 10 PHP
探讨PHP JSON中文乱码的解决方法详解
Jun 06 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
Jun 21 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
PHP ADODB生成下拉列表框功能示例
May 29 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 PHP
thinkphp5实现微信扫码支付
Dec 23 PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 #PHP
php实现的三个常用加密解密功能函数示例
Nov 06 #PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
Nov 06 #PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
Nov 06 #PHP
PHP简单实现欧拉函数Euler功能示例
Nov 06 #PHP
Laravel中服务提供者和门面模式的入门介绍
Nov 06 #PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 #PHP
You might like
E路文章系统PHP
2006/12/11 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
JS控制表格隔行变色
2006/06/26 Javascript
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
使用python遍历指定城市的一周气温
2017/03/31 Python
OpenCV实现人脸识别
2017/04/07 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
毕业生怎样写好自荐信
2013/11/11 职场文书
车间操作工岗位职责
2013/12/19 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
返乡农民工证明
2015/06/24 职场文书
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL