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 flv视频时间获取函数
Jun 29 PHP
PHP抽象类 介绍
Jun 13 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
PHP网站开发中常用的8个小技巧
Feb 13 PHP
PHP的伪随机数与真随机数详解
May 27 PHP
php里array_work用法实例分析
Jul 13 PHP
thinkPHP查询方式小结
Jan 09 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
May 07 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
May 16 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 PHP
thinkphp5框架路由原理与用法详解
Feb 11 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
第六节 访问属性和方法 [6]
2006/10/09 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
2019/08/27 PHP
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
javascript onmouseout 解决办法
2010/07/17 Javascript
JavaScript面向对象(极简主义法minimalist approach)
2012/07/17 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
js实现div色块碰撞
2020/01/16 Javascript
详解Python中的相对导入和绝对导入
2017/01/06 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
python3判断IP地址的方法
2021/03/04 Python
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
小区门卫值班制度
2014/01/24 职场文书
开业庆典策划方案
2014/02/18 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
教师个人读书活动总结
2014/07/08 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL