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源代码
Oct 09 PHP
一个用于MySQL的PHP XML类
Oct 09 PHP
php 随机生成10位字符代码
Mar 26 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
php顺序查找和二分查找示例
Mar 27 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
PHP接入支付宝接口失效流程详解
Nov 10 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 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
多数据表共用一个页的新闻发布
2006/10/09 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
javascript第一课
2007/02/27 Javascript
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
js+html5绘制图片到canvas的方法
2015/06/05 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
Django自定义分页效果
2017/06/27 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
详解Python中的测试工具
2019/06/09 Python
python中shell执行知识点
2020/05/06 Python
计算机专业推荐信范文
2013/11/20 职场文书
新学期家长寄语
2014/01/19 职场文书
大学生开西餐厅创业计划书
2014/02/01 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
公司业务员岗位职责
2014/03/18 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
微笑服务标语
2014/06/24 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
在校证明模板
2015/06/17 职场文书
《绝招》教学反思
2016/02/20 职场文书
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python