当前位置:Gxlcms > PHP教程 > PHP猴子选大王通俗理解

PHP猴子选大王通俗理解

时间:2021-07-01 10:21:17 帮助过:3人阅读

个人总结的关于猴子选大王的代码,附上了注释,对初学者会非常有帮助,因为本人在学习到这的时候,理解愣是花了两三个小时,才搞明白!当然代码千变万化!之前还看到个更简洁的,5-6行就写出来了,这个因人而异,初学者还是要一步一步来!
2015 8.24 0:46

1functiongetKing($m,$n){2$arr = array();            //定义一个存放猴子的数组;3$a = "a";                  //定义猴子编号;4for($i=0;$i<$m;$i++){      //开始循环给每个猴子附上编号;5$arr[] = $a++;         //循环a到M(给出猴子的数量);6       }  
78$i = 0;                    //定义一个报数的变量;9while(count($arr)>1){      //获取猴子个数,只要猴子不小于1就一直循环10if($i%$n == 0){        //报的数对N取余(设定的数,报道几就对几取余,余数为0,则那只猴子被提出游戏)11unset($arr[$i]);   //删除余数为零的数组元素12          }else{
13$arr[] = $arr[$i]; //如果为0则删除数组元素,否则没被删除的,则增加至队尾,下一轮继续报数,14unset($arr[$i]);   //删除数组刚才添加的那个数组元素,抽象理解为 : 需要的数例如为5,1 2 3 4 号位的猴子没有报道,则添加 16          }                      //1 2 3 4为队尾,下轮继续,而5号位的猴子正好报道5,被提出游戏,6号位的猴子从1开始报,反复如此,17$i++;
18      }
19return$arr;
20   }
21   print_r(getKing(20,5));

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了PHP猴子选大王通俗理解,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行