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 相关文章推荐
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
php while循环得到循环次数
Oct 26 PHP
php创建、获取cookie及基础要点分析
Jan 26 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
PHP精确到毫秒秒杀倒计时实例详解
Mar 14 PHP
php探针不显示内存解决方法
Sep 17 PHP
php7下的filesize函数
Sep 30 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
php实现利用phpexcel导出数据
2013/08/24 PHP
php函数指定默认值方法的小例子
2013/12/04 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
删除重复数据的算法
2006/11/23 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
javascript实现base64 md5 sha1 密码加密
2015/09/09 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
Python实现一个简单的验证码程序
2017/11/03 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
区域总监的岗位职责
2013/11/21 职场文书
奥巴马演讲稿
2014/01/08 职场文书
青年创业培训欢迎词
2014/01/08 职场文书
数学系个人求职信范文
2014/01/30 职场文书
创卫工作总结2015
2015/04/22 职场文书
消防安全月活动总结
2015/05/08 职场文书
教师网络培训心得体会
2016/01/09 职场文书