<?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++;
}
}
}
?>點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)