php约瑟夫问题解决关于处死犯人的算法


Posted in PHP onMarch 23, 2015

本文实例讲述了php约瑟夫问题解决关于处死犯人的算法。分享给大家供大家参考。具体分析如下:

古代某法官要判决IV个犯人的死刑,他有一条荒唐的法律将犯人站成一个圆圈,从第s个人开始数起,每到第D个人就拉出来处死,然后再数D个,再拉出来处决…… 直到剩下最后一个可以赦免.

function getNum($n,$m){
  //用于把所有的数存到数组初始化
  $a = array();
  //遍历,存入数组
  for($i=1;$i<=$n;$i++){
    $a[$i] = $i;
  }
  //指针归0
  reset($a);
  while(count($a)>1){
    //如果数组中项大于1,继续循环剔除元素
    //剔除规则
    for($j=1;$j<=$m;$j++){
        //如果没有达到数组的最后项
      if(next($a)){
        if($j==$m){
          //删除m项
          unset($a[array_search(prev($a),$a)]);
        }
      }else{
        //如果next不存在,那么指针归0
      reset($a);
      if($j==$m){
        unset($a[array_search(end($a),$a)]);
        reset($a);
      }
    }
   }
  }
  return current($a);
}
echo getNum(5,3);

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

PHP 相关文章推荐
真正面向对象编程:PHP5.01发布
Oct 09 PHP
给多个地址发邮件的类
Oct 09 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
Nov 07 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
CI框架Session.php源码分析
Nov 03 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
php绘制一个矩形的方法
Jan 24 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
基于Laravel实现的用户动态模块开发
Sep 21 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
Aug 30 PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 #PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 #PHP
PHP动态规划解决0-1背包问题实例分析
Mar 23 #PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 #PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 #PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 #PHP
php使用正则表达式进行字符串搜索的方法
Mar 23 #PHP
You might like
用PHP+MySql编写聊天室
2006/10/09 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
javascript中方便增删改cookie的一个类
2012/10/11 Javascript
中止javascript执行的方法
2014/02/14 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
Webpack之tree-starking 解析
2018/09/11 Javascript
小程序server请求微信服务器超时的解决方法
2019/05/21 Javascript
Python设计模式之观察者模式实例
2014/04/26 Python
Python不规范的日期字符串处理类
2014/06/10 Python
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
Python的SQLAlchemy框架使用入门
2015/04/29 Python
使用python实现生成用户信息
2017/03/20 Python
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
python3.5绘制随机漫步图
2018/08/27 Python
python机器人运动范围问题的解答
2019/04/29 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
金讯Java笔试题目
2013/06/18 面试题
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
大专自我鉴定范文
2013/10/01 职场文书
区域总监的岗位职责
2013/11/21 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
民主生活会主持词
2015/07/01 职场文书
教务处干事工作总结
2015/08/14 职场文书
离婚协议书格式范本
2016/03/18 职场文书
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python