php解决约瑟夫环

WBOY
发布: 2016-08-08 09:32:25
原创
1355 人浏览过
<?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教程有兴趣的朋友有所帮助。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板