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 相关文章推荐
web方式ftp
Oct 09 PHP
用php写的serv-u的web申请账号的程序
Oct 09 PHP
由php的call_user_func传reference引发的思考
Jul 23 PHP
php中unlink()、mkdir()、rmdir()等方法的使用介绍
Dec 21 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
php比较相似字符串的方法
Jun 05 PHP
thinkPHP查询方式小结
Jan 09 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
Apr 04 PHP
解决Laravel无法使用COOKIE和SESSION的问题
Oct 16 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 PHP
PHP实现限制域名访问的实现代码(本地验证)
Sep 13 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数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
JavaScript判断窗口是否最小化的代码(跨浏览器)
2010/08/01 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
jQuery弹出层插件Lightbox_me使用指南
2015/04/21 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
详细介绍Python函数中的默认参数
2015/03/30 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
python爬取个性签名的方法
2018/06/17 Python
django-初始配置(纯手写)详解
2019/07/30 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
好的自荐信包括什么内容
2013/11/07 职场文书
记者岗位职责
2014/01/06 职场文书
家电业务员岗位职责
2014/03/10 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
八年级作文之友情
2019/11/25 职场文书
浅谈克隆 JavaScript
2021/11/02 Javascript
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL
nginx rewrite功能使用场景分析
2022/05/30 Servers
hive数据仓库新增字段方法
2022/06/25 数据库