>  기사  >  백엔드 개발  >  PHP는 조셉 링을 해결

PHP는 조셉 링을 해결

WBOY
WBOY원래의
2016-08-08 09:32:251307검색
<?php>
#编号1到n的n个猴子围成一圈,从k号猴子开始从1报数,k+1号猴子报2,k+2号猴子报3........ 报到m就出局 剩下的重新从1报数,报到m出局,反复循环, 求最后剩下的那只猴子的编号。
function myf($array,$m,$n,$k){
    $mark=0;
    $a=$m;
    $m=$m+$k-1;

    while(sizeof($array)){
    	$mark++;
    	$out=array_shift($array);
        if($mark==$m){
        	if(sizeof($array)==0){
        	echo $out , '最终留下<br/>';
        	}else{
                    $m=$a;
        	    echo $out , '出局<br/>';
        	    $mark=0;


        	}
        }else{
         $array[]=$out;
        }


    }


}

myf(range(1, 5),3,5,2);#测试一下,编号1到5的猴子,从2号开始由1报数,报到3的出局

 ?>

위 내용은 조셉링을 해결하기 위한 PHP에 대한 내용을 포함하여, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.