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
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
让你的网站首页自动选择语言转跳
Dec 06 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 PHP
php中获取关键词及所属来源搜索引擎名称的代码
Feb 15 PHP
php HandlerSocket的使用
May 02 PHP
php中print(),print_r(),echo()的区别详解
Dec 01 PHP
PHP准确取得服务器IP地址的方法
Jun 02 PHP
解读PHP中上传文件的处理问题
May 29 PHP
PHP连接MYSQL数据库的3种常用方法
Feb 27 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 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 高级课程笔记 面向对象
2009/06/21 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
原生node.js案例--前后台交互
2017/02/20 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
pyspark 随机森林的实现
2020/04/24 Python
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
酒店总经理工作职责
2013/12/13 职场文书
网络工程师职业规划
2014/02/10 职场文书
村党支部换届选举方案
2014/05/02 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
化验室安全管理制度
2015/08/06 职场文书
单位病假条范文
2015/08/17 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
Java字符串逆序方法详情
2022/03/21 Java/Android