php实现猴子选大王问题算法实例
本篇章节讲解php实现猴子选大王问题算法。分享给大家供大家参考。具体分析如下: 一、问题:n只猴子围坐成一个圈,按顺时针方向从1到n编号。 然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的下一个位置重新开始报数, 如此重复,直至剩下一个猴子,它就是大王。 设计并编写程序,实现如下功能: (1) 要求由用户输入开始时的猴子数$n、报数的最后一个数$m。 (2) 给出当选猴王的初始编号。 二、解决方法:$arr=range(1,$n);
//将猴子分到一个数组里,数组的值对应猴子的初始编号 $unsetNum=0; //定义一个变量,记录猴子的报数 for ($i = 2; $i <=$n$m ; $i++) //当猴子的报数等于淘汰的数字时:淘汰猴子(删除数组元素) ";//打开注释,可以看到具体的淘汰过程 补充改进算法(该算法更加简洁明了!): $r=($r+$m)%$i;
} 希望本文所述对大家的php程序算法设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |