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的FTP学习(一)[转自奥索]
Oct 09 PHP
PHP中的正规表达式(一)
Oct 09 PHP
php中截取中文字符串的代码小结
Jul 17 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
浅析php面向对象public private protected 访问修饰符
Jun 30 PHP
PHP调用C#开发的dll类库方法
Jul 28 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 PHP
一个经典的PHP验证码类分享
Nov 18 PHP
php微信公众平台开发类实例
Apr 01 PHP
fckeditor上传文件按日期存放及重命名方法
May 22 PHP
PHP如何通过表单直接提交大文件详解
Jan 08 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
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
YII框架常用技巧总结
2019/04/27 PHP
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
JS表的模拟方法
2015/02/05 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
python通过colorama模块在控制台输出彩色文字的方法
2015/03/19 Python
python模拟Django框架实例
2016/05/17 Python
高效使用Python字典的清单
2018/04/04 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
python实现flappy bird游戏
2018/12/24 Python
python实现按行分割文件
2019/07/22 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
大学生秋游活动方案
2014/02/17 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
浅析Python中的套接字编程
2021/06/22 Python
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android