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版(2)
Oct 09 PHP
php 验证码实例代码
Jun 01 PHP
php学习之 循环结构实现代码
Jun 09 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
Apr 24 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
Mar 10 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 PHP
实现PHP搜索加分页
Oct 12 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
Mar 24 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
Oct 16 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
JavaScript this 深入理解
2009/07/30 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
JavaScript的Date()方法使用详解
2015/06/09 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
2019/10/08 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
详解JavaScript作用域 闭包
2020/07/29 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
详解python中的线程
2018/02/10 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
python实现多进程通信实例分析
2019/09/01 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
大学生写自荐信的技巧
2014/01/08 职场文书
和睦家庭事迹
2014/05/14 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
钳工实训报告总结
2014/11/04 职场文书
客房领班岗位职责
2015/02/11 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
运动会加油稿30字
2015/07/21 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书