• 热门专题

猴子选大王

作者:  发布日期:2015-08-25 21:38:19
Tag标签:大王  猴子  
  •  

    问题描述:

    一群猴子按编号围成一圈,然后从第一只开始数,数到第m只,把他踢出圈,然后再从他后面开始数,数到第m只,再把他踢出圈,如此下去,直到剩下最后一个猴子为止。

     

    算法实现:

     

    <?PHP
    	function MonkeyKing($n,$m){
    		$monkey = range(1,$n);//生成1-n的数组
    		$i = 0;
    		while(count($monkey)>1){
    			$i++;
    			$head = array_shift($monkey);//获得第一个数
    			if($i % $m != 0){
    				//如果不是m的倍数,则将i放到数组末尾,也即是去掉m。
    				$monkey = array_push($monkey,$head);
    			}
    		}
    		return $monkey[0];
    	}
    	


     

     

延伸阅读:

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规