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
php实现用户在线时间统计详解
Oct 08 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 PHP
基于php验证码函数的使用示例
May 03 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
apache php mysql开发环境安装教程
Jul 28 PHP
php实现的网页版剪刀石头布游戏示例
Nov 25 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
Jul 03 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
php 数据结构之链表队列
Oct 17 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
2014/07/29 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
更改Python命令行交互提示符的方法
2015/01/14 Python
Python切片工具pillow用法示例
2018/03/30 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
Python实现多属性排序的方法
2018/12/05 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
python logging模块的使用
2020/09/07 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
校庆活动方案
2014/03/31 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
2014年施工员工作总结
2014/11/18 职场文书
教师学期个人总结
2015/02/11 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
Golang 字符串的常见操作
2022/04/19 Golang