php猴子选大王问题解决方法


Posted in PHP onMay 12, 2015

本文实例讲述了php猴子选大王问题解决方法。分享给大家供大家参考。具体分析如下:

问题描述:

一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,
输出最后那个大王的编号。

解决方法:

<?php
function king($m, $n) {
 for($i = 1;$i < $m + 1;$i++) {
 //构建数组
  $arr[] = $i;
 }
 $i = 0;//设置数组指针
 while (count($arr) > 1) {
  //遍历数组,判断当前猴子是否为出局序号,
  //如果是则出局,否则放到数组最后
  if (($i + 1) % $n == 0) {
   unset($arr[$i]);
  } else {
   array_push($arr, $arr[$i]);
   //本轮非出局猴子放数组尾部
   unset($arr[$i]);
   //删除
  }
  $i++;
 }
 return $arr;
}
var_dump(king(100,5));
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
使用PHP socke 向指定页面提交数据
Jul 23 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
Jul 02 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
ThinkPHP让分页保持搜索状态的方法
Jul 02 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
linux下实现定时执行php脚本
Feb 13 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
May 21 PHP
Smarty保留变量用法分析
May 23 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 PHP
tp5.1 框架路由操作-URL生成实例分析
May 26 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 PHP
PHP嵌套输出缓冲代码实例
May 12 #PHP
php实现修改新闻时删除图片的方法
May 12 #PHP
php跨服务器访问方法小结
May 12 #PHP
php一个解析字符串排列数组的方法
May 12 #PHP
PHP获取远程图片并保存到本地的方法
May 12 #PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
May 12 #PHP
php解析xml方法实例详解
May 12 #PHP
You might like
PHP之变量、常量学习笔记
2008/03/27 PHP
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
2017/05/17 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
JavaScript简单编程实例学习
2020/02/14 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
Python线程中对join方法的运用的教程
2015/04/09 Python
Python输出9*9乘法表的方法
2015/05/25 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
Android面试题及答案
2015/09/04 面试题
市场营销专业个人自荐信格式
2013/09/21 职场文书
资深财务管理人员自我评价
2013/09/22 职场文书
如何写你的创业计划书
2014/01/07 职场文书
质量负责人岗位职责
2015/02/15 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
周一给客户的问候语
2015/11/10 职场文书