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面向对象分析设计的61条军规小结
Jul 17 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
Nov 02 PHP
PHP图片验证码制作实现分享(全)
May 10 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
Apr 15 PHP
PHP临时文件的安全性分析
Jul 04 PHP
PHP中soap的用法实例
Oct 24 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
Mar 04 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
PHP中COOKIES使用示例
Jul 26 PHP
优化WordPress中文章与评论的时间显示
Jan 12 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 20 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
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
php实现监听事件
2013/11/06 PHP
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
2016/04/28 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
vue-cli webpack 开发环境跨域详解
2017/05/18 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
vue路由插件之vue-route
2019/06/13 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
Python中文件的读取和写入操作
2018/04/27 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
numpy中的meshgrid函数的使用
2019/07/31 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
HTML5表格_动力节点Java学院整理
2017/07/11 HTML / CSS
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
J2EE系统只能是基于web
2015/09/08 面试题
财务出纳员岗位职责
2013/11/26 职场文书
企业宣传口号
2014/06/12 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
关于Python中*args和**kwargs的深入理解
2021/08/07 Python
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技