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 相关文章推荐
php中文本数据翻页(留言本翻页)
Oct 09 PHP
什么是MVC,好东西啊
May 03 PHP
PHP无敌近乎加密方式!
Jul 17 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 PHP
深入PHP数据加密详解
Jun 18 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
Smarty最简单实现列表奇偶变色的方法
Jul 01 PHP
ubuntu下配置nginx+php+mysql详解
Sep 10 PHP
PHP实现无限级分类(不使用递归)
Oct 22 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 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开启gzip页面压缩实例代码
2010/03/11 PHP
初识ThinkPHP控制器
2016/04/07 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
php中static和const关键字用法分析
2016/12/07 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
js导航菜单(自写)简单大方
2013/03/28 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
Python 列表list使用介绍
2014/11/30 Python
Python内建数据结构详解
2016/02/03 Python
python之消除前缀重命名的方法
2018/10/21 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
Python分类测试代码实例汇总
2020/07/23 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
房地产出纳岗位职责
2013/12/01 职场文书
项目专员岗位职责
2013/12/04 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
年终奖发放方案
2014/06/02 职场文书
保送生自荐信
2015/03/06 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
php中pcntl_fork详解
2021/04/01 PHP
Python何绘制带有背景色块的折线图
2022/04/23 Python