关于猴子选大王的问题
2013-03-02 11:39
183 查看
看到这样一个问题:有m只猴子,从1开始数到n,第n只猴子退出,如此循环执行下去,直到剩下最后一只猴子,求该猴子的编号?试着写了一个模拟报数<?php/************************************************************************* > File Name: getMonkeyKing.php > Author: firmy > Mail: firmy@foxmail.com > Created Time: 2013年03月01日 16时11分48秒 CST************************************************************************///猴子选大王的程序。首先输入猴子的数目m,然后输入每次查猴子的数目n。每数N次删除一个猴子。最后剩下的是大王。 function getKing($m,$n){ //构造队列 for($i=1;$i<=$m;$i++){ $list[$i] = $i; } $j = 1;//设定指针 $k = 1; while(count($list)>1){ $k = ($k==($n+1))?1:$k; echo current($list)."=>{$k}\n"; if(($j%$n) == 0){ echo "===========throw {$list[$j]} out,next================\n"; unset($list[$j]); }else{ array_push($list,$list[$j]); unset($list[$j]); } $j++; //从下一只猴子开始数 $k++; } echo "the king is :".current($list).";haha!!!\n"; return $list;}$monkeyNum = $argv[1];$num = $argv[2];getKing($monkeyNum,$num); 测试一下:
来自为知笔记(Wiz)
来自为知笔记(Wiz)
相关文章推荐
- ruby解决猴子大王问题
- 猴子选大王问题--C++实现
- 一个猴子选大王问题程序(c++实现)
- 猴子选大王问题(约瑟夫环)
- 第9周项目1猴子选大王问题
- ruby解决猴子大王问题
- 约瑟夫问题——猴子选大王 双向指针
- 猴子选大王问题——约舍夫问题
- poj-约瑟夫问题(猴子选大王)
- ruby解决猴子大王问题
- php实现猴子选大王问题算法实例
- 第19周上机实践项目2——猴子选大王(约瑟夫问题)
- 猴子选大王改编;关于环形链表的建立,删除,插入操作演示
- 猴子选大王(约瑟夫环问题)的OO解法
- php猴子选大王问题解决方法
- 约瑟夫问题(猴子选大王) 链表实现
- 【可爱的小模板】约瑟夫问题(猴子选大王)
- 猴子选大王问题
- php实现猴子选大王问题算法实例
- php猴子选大王问题解决方法