发文时间:2021年07月01日 12:25:55 编辑:Aaron 标签:PHP算法题 913
一群猴子排成一圈,按1,2,…,n依次编号
public function index(){ $h=$this->mk(12,8); dump($h);//输出 array (size=1) 88 => int 5 } public function mk($n,$m){ //1、生成猴子队伍 $team=range(1,$n); //2、按规则寻找猴王 $i=0; //只要猴子队伍里还有猴就继续排 while(count($team)>1){ //判断当前猴子是否是要被T出队伍的,若不是 则把猴子排到最后的位置 if(($i+1)%$m!=0){ array_push($team,$team[$i]); } //无论当前猴子是否要被T出队伍还是排到最后,都要清空猴子之前的位置 unset($team[$i]); $i++; } //返回猴王~ return $team; }
若无特殊说明,此文章为博主原创。 写稿不易,如需转载,请注明出处: https://www.aaroner.cn/art/79.html
约瑟夫环问题(猴子选大王) PHP解题
发文时间:2021年07月01日 12:25:55 编辑:Aaron 标签:PHP算法题 913
一群猴子排成一圈,按1,2,…,n依次编号
一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。用程序模拟该过程。
若无特殊说明,此文章为博主原创。
写稿不易,如需转载,请注明出处: https://www.aaroner.cn/art/79.html