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 相关文章推荐
火车头采集器3.0采集图文教程
Mar 17 PHP
网友原创的PHP模板类代码
Sep 07 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
几个有用的php字符串过滤,转换函数代码
May 01 PHP
php在项目中寻找代码的坏味道(综艺命名)
Jul 19 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
php查询及多条件查询
Feb 26 PHP
PHP集成环境XAMPP的安装与配置
Nov 13 PHP
tp5框架无刷新分页实现方法分析
Sep 26 PHP
laravel框架如何设置公共头和公共尾
Oct 22 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压缩的2种方法
2015/01/31 PHP
PHP网络操作函数汇总
2015/05/18 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
2016/03/18 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
由浅入深讲解python中的yield与generator
2017/04/05 Python
详解Python3注释知识点
2019/02/19 Python
python3中property使用方法详解
2019/04/23 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
英国二手物品交易网站:Preloved
2017/10/06 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
长青弘远的面试题
2012/06/09 面试题
工厂仓管员岗位职责
2014/01/01 职场文书
社区义诊活动总结
2014/04/30 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL