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读MYSQL中文乱码的解决方法
Dec 17 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
php旋转图片90度的方法
Nov 07 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
php运行时动态创建函数的方法
Mar 16 PHP
Codeigniter校验ip地址的方法
Mar 21 PHP
PHP json_encode() 函数详解及中文乱码问题
Nov 05 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
php cookie用户登录的详解及实例代码
Jan 03 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 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/01 无线电
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
python批量制作雷达图的实现方法
2016/07/26 Python
使用Python设计一个代码统计工具
2018/04/04 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
基于python实现聊天室程序
2018/07/27 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
python add_argument()用法解析
2020/01/29 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
int和Integer有什么区别
2013/05/25 面试题
经管应届生求职信
2013/11/17 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
道德演讲稿
2014/05/21 职场文书
认真学习保证书
2015/02/26 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏