<?php /* * 要求:有n只猴子围城一圈,从第1只猴子开始数,每数m只猴子将其剔除,直至剩下最后一只; * 用php的方法对其模拟实现; * 思路:首先我们可以把这n只猴子看成一个数组,即对该数组进行遍历,直至该数组剩下最后一个元素; * 难点:如何遍历该数组,才能实现上述的要求; * 分析:首先我们可以想象的出当我们遍历完数组中的第一个不符合要求元素之后,我们可以把该元素放置 * 在该数组的末尾以便下次继续循环 * */ $dw=xdw(39,3); var_dump($dw); function xdw($n,$m){ $tmp_arr=array(); $tmp='a'; for($i=0;$i<$n;$i++){ $tmp_arr[] = $tmp; $tmp++; } $count=count($tmp_arr); for($i=1;$i<$count;$i++){ if($i%$m==0){ if(count($tmp_arr)>1){ unset($tmp_arr[$i-1]); if(count($tmp_arr)==1){ return $tmp_arr[$i]; } } }else{ $tmp_arr[$count]=$tmp_arr[$i-1]; unset($tmp_arr[$i-1]); echo '<pre>'; print_r($tmp_arr); $count++; } } } ?>
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦