当前位置:首页 > 日记 > 正文

PHP基于关联数组20行代码搞定约瑟夫问题示例

PHP基于关联数组20行代码搞定约瑟夫问题示例

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

相关文章

详解vuex 中的 state 在组件中如何

详解vuex 中的 state 在组件中如何

组件,详解,电脑软件,state,vuex,前言不知道大家有没有遇到过这样一种情况? vuex中的state会在某一个组建中使用,而这个状态的初始化是通过异步加载完成的。组件在渲染过程中,获取的state状态为空。也就是说组件在异步完成之前就已经完成渲染了…

PS滤镜如何制作彩色玻璃

PS滤镜如何制作彩色玻璃

滤镜,彩色玻璃,电脑软件,PS,   这个教程介绍运用了一系列的滤镜制作玻璃网效果,不过用到的滤镜都是平时非常常用的,如果我们平时多细心一点,也可以用这些滤镜制作更加丰富的创意图形!下面跟小编来了解一下如何用PS滤镜制作彩色玻…

微信小程序教程系列之页面跳转和参

微信小程序教程系列之页面跳转和参

页面跳转,参数传递,教程,程序,系列之,关于页面的跳转,微信小程序提供了3种方法:方法一:使用API wx.navigateTo()函数示例:首先先新建一个test页面如何新建页面?请到先阅读下面教程微信小程序的新建页面 —— 微信小程序教程系列(4)index.wxml:在i…

PS背光如何将深色照片变亮

PS背光如何将深色照片变亮

照片,深色,如何将,变亮,电脑软件,有时在照片中,不容易得到一个自己一个意义上的场景,有逆光,避光,不是拿着好看的风景的美景,而是不怜惜,他又拿了什么光,回家后,画出了好黑的森林啊!如果你有这样的图片,不要把它拿出来,试试下面的方法看看它是否改变了…

win10怎么开启移动热点

win10怎么开启移动热点

热点,电脑软件,Windows10如何用无线网卡创建移动热点?由于有些地方没有网络,所以我们需要使用无线网卡进行上网。无论是无线网卡还是USB无线网卡都有承载网络模式,承载网络是指把接收到的无线信号再创建一个Wifi热点给手机使用,这样是不是就方…

插入PPT幻灯片的视频不能播放(解决

插入PPT幻灯片的视频不能播放(解决

解决方案,幻灯片,不能播放,视频,电脑软件,问题: 一位同事用DVD,格式,工厂软件将它转换成万用视频,并将视频插入PPT幻灯片中。当视频被播放时,视频总是无法播放。 答案uff1a 想一想,操作方法,再操作一遍,在PPT点上插入电影和声音文件>电影,找到相关…

PHP简单的获胜算法(示例)

PHP简单的获胜算法(示例)

算法,示例,简单,电脑软件,PHP,这个包遇到这样一个问题,绘制一个概率函数来在线查找信息。它指出,一种以上的方法,我觉得还是比较容易实现句子的功能或一种以上的代码的想法不止一种。 功能get_rand($ proarr){ 结果=; 概率的总概率 $启源= array…

如何使用ps制作印章

如何使用ps制作印章

印章,如何使用,电脑软件,ps,   ps已经成为了绘图高手必会的软件,更被人尊称为神器,可想而知它的功能有多么强大,而对于ps怎么抠公章,这也是很多photoshop用户询问的一个问题。ps抠公章通常会使用色彩范围或者通道来抠公章。下面跟…

利用滤镜为照片添加阳光透射效果

利用滤镜为照片添加阳光透射效果

阳光,照片,滤镜,效果,电脑软件,   今天小编教大家利用滤镜为照片添加阳光透射效果,希望对大家有用!利用滤镜为照片添加阳光透射效果原图最终效果本PS教程使用径向模糊来制作阳光透射效果。制作的时候先把图片的高光部分选区出来…

ps怎么快速合成被树枝缠绕的创意吉

ps怎么快速合成被树枝缠绕的创意吉

创意,树枝,吉他,快速,电脑软件,效果图创意非常不错,画面也合成得很唯美,只是过程有点少,并且素材没有提供。大家可以去网上找类似的素材去合成。最终效果1、画出线稿图。2、加入树林背景。3、调节好树林高度,底部加上土石纹理。树林地面加上青…

MySQL将查询结果导出到CSV实现方法

MySQL将查询结果导出到CSV实现方法

方法,查询结果,导出到,电脑软件,MySQL,为了将MySQL的查询结果导出到CSV,通常使用PHP连接mysql执行查询,并且使用PHP生成返回的查询结果生成CSV格式,然后导出。 但这更麻烦,它需要服务器安装PHP才能实现。 直接使用MySQL导出CSV方法 我们可以…

如何为WPS表使用条件格式WPS条件格

如何为WPS表使用条件格式WPS条件格

条件,格式,何为,电脑软件,WPS,WPS格式条件格式是一个非常强大的功能,但它总是被忽略,所以小编辑器教你如何使用它。 WPS条件格式的使用 打开WPS表,在左上角的WPS表后面点击三角符号,找到在下拉框中,格式,找到格式,条件格式; 使用WPS条件格式1的…