温馨提示:本信息由【金聪采编】搜集整理发布,版权归原作者及发布者所有,您如有异议请 举报 或者 版权申诉。

本文实例讲述了PHP基于递归实现的约瑟夫环算法。分享给大家供大家参考,具体如下:

约瑟夫环问题: 39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓。于是决定了自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀。然后下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。

<?php $num = 41;$step = 3;function joseph($arr, $step, $start, $survivors){ foreach($arr as $k => $v) { if($start % $step === 0) { unset($arr[$k]); $start = 1; } else { $start ++; } } if(count($arr) > $survivors) return joseph($arr, $step, $start, $survivors); else return $arr;}$i = 0;$arr = [];while($i ++ < $num){ $arr[] = $i;}$arr = joseph($arr, 3, 1, 2);print_r($arr);

执行结果:

Array( [15] => 16 [30] => 31)

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

php实现的sha1加密解密代码,PHP实现的简单sha1加密功能示例相关推荐

  1. 转载并学习实现三重DES加密解密代码(一)

    作者:finallyliuyu 出处:博客园 声明:此篇博文代码来自于邹德强先生.由于目前找到的版本是残缺版,所以我又进行了补全.读一份好代码,可以领略到作者的编程风格和语言驾驭能力,同时又能从其中汲 ...

  2. java加密解密代码_base64位加密解密原理及js代码实现

    base64位加密解密原理及js代码实现 在网上找了很多关于Base64加密解密的原理以一个比较通俗易懂的方式理解整理了一下大致原理如下 先上base64对照表 #加密 #1:将明文对照以acsii码 ...

  3. QQ协议TEA加密解密代码 C#

    网上找到的qq协议的TEA加密和解密说明如下: 也有很多源代码,但是感觉上代码比较复杂,不容易看.我用C#重写了下. 基于2008协议 * QQ消息的加密算法是一个16次的迭代过程,并且是反馈的,每一 ...

  4. md5加密解密代码_Python内置方法实现基于秘钥的信息加解密

    点击关注州的先生 精彩不容错过 在实际编程开发中,我们会使用到各类的加密算法来对数据和信息进行加密.比如密码中比较常见的MD5加密,以及AES加密等等.对于密码认证来说,MD5加密是比较适合的,因为其 ...

  5. php 中文加密如何解密,求教PHP中文加密解密代码

    加密 PHP 如何对字符串进行加密解密? 类似于BASE64_ENCODE / BASE64_DECODE,但是需要加密后的字符串更简短,最好可以三个字符代表一个中文. public $STRING_ ...

  6. php中文加密解密,求教PHP中文加密解密代码

    加密 PHP 如何对字符串进行加密解密? 类似于BASE64_ENCODE / BASE64_DECODE,但是需要加密后的字符串更简短,最好可以三个字符代表一个中文. public $STRING_ ...

  7. java 采用MD5加密解密代码示例(不玩套路, 非标题党, 附带解密代码)

    package cn.demo; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; im ...

  8. des加密解密 代码 java_java 实现DES 加密解密的示例

    package com.cn.peitest; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.cryp ...

  9. python代码加密解密_Python加密解密代码

    ''' 作业:中英文加密+解密 做题思路:先练习单独用ascii和汉字加密和解密,见作业后的encode_game和decode_game 爬取中文用的是BeautifulSoup 作业encode_ ...

最新文章

  1. java按行读取txt文件内容_对txt文件中的内容进行排序
  2. 道路运输车辆卫星定位系统JT/T808服务实现和压测
  3. K8S精华问答 | 应用和运行时平台是怎样解耦的?
  4. Oracle11gR2下搭建DataGuard主备同步详解
  5. windows 笔记本连接公共wifi不弹出登录页面的处理办法
  6. 一周愣降900元!这款iPhone不值了?
  7. 5个让你的404页面变的更加实用的技巧
  8. matlab创建一个简易的MP3播放器GUI程序
  9. 5. 吴恩达机器学习课程-作业5-偏差和方差
  10. Nginx+Tomcat+SSL 识别 https还是http
  11. Spark 学习(三) RDD基本介绍
  12. 【台词】严厉的愛Tough Love」(后妈茶话会)
  13. 微信小程序:全新圣诞节头像框制作生成微信小程序源码下载支持多模板
  14. 手机浏览器类型ua php,通过userAgent判断手机浏览器类型
  15. Flutter 与 RN对比
  16. SparkSql create table导入本地excel
  17. 一文搞定BP神经网络——从原理到应用(原理篇)
  18. 等额本息和等额本金、提前还款
  19. 坚果手机2系统相册问题
  20. 美图嗅嗅+到意大利的水族馆里吃西餐

热门文章

  1. SQL Server数据库 附加数据库时出错。有关详细信息,请单击“消息”列中的超链接。
  2. Matlab线条动画
  3. eclipse 初始化失败
  4. 一大波 ChatGPT 开源项目,诞生了!
  5. 达梦数据库常见问题汇总
  6. ROS2机器人笔记21-02-23
  7. cmd 路径由C到D盘切换
  8. IB大考期间上网讨论试题是作弊吗?
  9. 练习7-11 字符串逆序(15 分)
  10. Java8中基于OkHttp3编写HTTP2客户端详解