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 和 XML: 使用expat函数(二)
Oct 09 PHP
PHP 函数学习简单小结
Jul 08 PHP
ajax 的post方法实例(带循环)
Jul 04 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
2个Codeigniter文件批量上传控制器写法例子
Jul 25 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 PHP
Yii中render和renderPartial的区别
Sep 03 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
PHP使用Pear发送邮件(Windows环境)
Jan 05 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
php使用str_replace替换多维数组的实现方法分析
Jun 15 PHP
PHP控制循环操作的时间
Apr 01 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
Search Engine Friendly的URL设计
2006/10/09 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
javascript dom代码应用 简单的相册[firefox only]
2010/06/12 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
javascript打印输出json实例
2013/11/11 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
快速掌握Node.js模块封装及使用
2016/03/21 Javascript
vue-resource 拦截器(interceptor)的使用详解
2017/07/04 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
Angular中使用MathJax遇到的一些问题
2017/12/15 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
2019/10/15 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
详解Python流程控制语句
2020/10/28 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
民生工作实施方案
2014/05/31 职场文书
会计电算化实训报告
2014/11/04 职场文书
迎新生欢迎词
2015/01/23 职场文书
质量保证书格式模板
2015/02/27 职场文书
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript