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 相关文章推荐
图形数字验证代码
Oct 09 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
php二维数组转成字符串示例
Feb 17 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
初识PHP
Sep 28 PHP
PHP常用的小程序代码段
Nov 14 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
总结PHP中初始化空数组的最佳方法
Feb 13 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 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基础知识:函数基础知识
2006/12/13 PHP
第六章 php目录与文件操作
2011/12/30 PHP
php反射应用示例
2014/02/25 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
JS Timing
2007/04/21 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
js中this用法实例详解
2015/05/05 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
vue接口请求加密实例
2020/08/11 Javascript
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python矩阵常见运算操作实例总结
2017/09/29 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
python django中8000端口被占用的解决
2019/12/17 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
大学生活动策划方案
2014/02/10 职场文书
采购经理岗位职责
2014/02/16 职场文书
秸秆管理实施方案
2014/03/15 职场文书
车辆转让协议书
2014/04/15 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
详解Go与PHP的语法对比
2021/05/29 PHP
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript