>  기사  >  백엔드 개발  >  PHP 원숭이가 왕을 선택합니다

PHP 원숭이가 왕을 선택합니다

WBOY
WBOY원래의
2016-08-08 09:26:441875검색

방법 1:

function monkeyKing($n,$m)
{
	$arr=range(1,$n);
	$i=0;

	while (count($arr)>1)
	{	
		for($i=1;$i<=$m-1;$i++)
		{
			
			array_push($arr, array_shift($arr));
		}

		array_shift($arr);
	}

	echo "$arr[0]";
}

monkeyKing(6,4);//5

방법 2:

function king($m ,$n)
{
//构造数组
$arr=range(1,$m);
$i = 0 ;    //设置数组指针

while(count($arr)>1)
{
   //遍历数组,判断当前猴子是否为出局序号,如果是则出局,否则放到数组最后
   if(($i+1)%$n ==0) {
    unset($arr[$i]) ;
   } else {
    array_push($arr ,$arr[$i]) ; //本轮非出局猴子放数组尾部
    unset($arr[$i]) ;   //删除
   }
   $i++ ;
}
return $arr ;
}

var_dump(king(6,4));


세 번째 방법: //이 방법은 잘 이해가 안 되지만 각자의 의견을 남겨주시면 좋겠습니다.

function yuesefu($n,$m) {  
    $r=0;  
    for($i=2; $i<=$n; $i++) {
            $r=($r+$m)%$i;  
    }
    return $r+1;  
}  
print_r(yuesefu(3,3));//2


위의 내용을 포함하여 PHP Monkey King을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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