PHP实现约瑟夫问题的方法简述
本文总结了用PHP实现约瑟夫问题的方法,供大家参考,具体分析如下:一群猴子被布置在一个圆圈里,他们被依次为1,2,…,n然后开始从一数到m,只是把它踢出圈,从它开始,然后数到m,只有踢出去,这样下去直到最后一只猴子离开了。它需要编程来模拟这一过程,输入m,n,输出王的最后一个号码。
解析:
约瑟夫环是一个数学应用问题:已知n人(以编号1, 2, 3表示)…坐在一张圆桌周围,K从一些人出发,那个人从M线出来;他的下一个人从1开始,把M数给另一个人;所以法律被重复,直到所有的人都离开桌子。
方法1:
< PHP
功能getleader($,$ M){
$ = 0;
对于($ i = 2;$ i = $;$;$ + +){
$ =(美元);
}
返回$ 1;
}
领导= getleader美元(13,34);
回声领袖;
>
方法二:
< PHP
定义/函数
功能getking($猴,$m,$电流= 0){
数=(猴子);
$ = 1;
如果(计数(猴子)= = 1){
回声号。猴子$ { 0 }。变成猴子猴王!;
返回;
其他{ }
当($ + + $ m){
当前+ +;
$ =当前$ % $;
}
回声号。猴子被踢了……;
array_splice($猴,目前美元,1);
getking($猴,百万美元,美元当前);
}
}
$ = 13;猴子总数
美元= 34。
$猴子=范围(1,n);数组中的猴子数量
getking($猴,$m); / /呼叫功能
>
希望本文能对大家的PHP程序设计有所帮助。