首页 > 代码库 > 猴王算法
猴王算法
有n只猴子围成一个圈,从第一个开始数,数到第m个将其踢出,接着后面继续从1数,如此循环,直到只剩最后一只z,那只就是猴王.输入n,m.输出z
1 //网上算法,返回序号. 2 function monkeyKing($n, $m){ 3 4 $z=0; //z是王 5 for ($j = 2; $j <= $n; $j++) $z = ($z + $m) % $j; 6 return ++$z; 7 } 8 9 10 //个人实现,返回数组元素 11 function monkeyKing2($n, $m){ 12 13 $array = range(1, $n); 14 $count = 1; 15 while(count($array) > 1){ 16 if($count % $m == 0){ 17 unset($array[key($array)]); $count = 1; 18 }else{ 19 $count++; 20 } 21 if(!next($array)) reset($array); 22 } 23 return $array; 24 }
猴王算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。