最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP基于遞歸實現的約瑟夫環(huán)算法示例

 更新時間:2017年08月27日 12:13:41   作者:alian_c  
這篇文章主要介紹了PHP基于遞歸實現的約瑟夫環(huán)算法,結合實例形式較為詳細的分析了約瑟夫環(huán)問題與php使用遞歸算法的解決方法,需要的朋友可以參考下

本文實例講述了PHP基于遞歸實現的約瑟夫環(huán)算法。分享給大家供大家參考,具體如下:

約瑟夫環(huán)問題: 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);

執(zhí)行結果:

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

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《PHP常用遍歷算法與技巧總結》及《PHP數學運算技巧總結

希望本文所述對大家PHP程序設計有所幫助。

相關文章

  • PHP中如何使用Redis接管文件存儲Session詳解

    PHP中如何使用Redis接管文件存儲Session詳解

    這篇文章主要給大家介紹了關于在PHP中如何使用Redis接管文件存儲Session的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • php開發(fā)中的頁面跳轉方法總結

    php開發(fā)中的頁面跳轉方法總結

    PHP頁面跳轉實現的功能就是將網站中一個網頁跳轉到另一個網頁中。對于剛剛學習PHP語言的朋友來說,是必須要掌握的基礎方法。
    2015-04-04
  • PHP擴展Memcache分布式部署方案

    PHP擴展Memcache分布式部署方案

    memcached雖然稱為“分布式”緩存服務器,但服務器端并沒有“分布式”功能。服務器端僅包括內存存儲功能,其實現非常簡單。至于memcached的分布式,則是完全由客戶端程序庫實現的。這種分布式是memcached的最大特點。
    2015-12-12
  • mongo Table類文件 獲取MongoCursor(游標)的實現方法分析

    mongo Table類文件 獲取MongoCursor(游標)的實現方法分析

    本篇文章是對mongo Table類文件 獲取MongoCursor(游標)的實現方法進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • 部署PHP項目應該注意的幾點事項分享

    部署PHP項目應該注意的幾點事項分享

    這篇文章主要介紹了部署PHP項目應該注意的幾點事項,有需要的朋友可以參考一下
    2013-12-12
  • PHP實現bitmap位圖排序與求交集的方法

    PHP實現bitmap位圖排序與求交集的方法

    這篇文章主要介紹了PHP實現bitmap位圖排序與求交集的方法,結合實例形式分析了php位圖排序及求交集運算的相關實現技巧,需要的朋友可以參考下
    2016-07-07
  • php中幾種常見安全設置詳解

    php中幾種常見安全設置詳解

    PHP本身再老版本有一些問題,比如在 php4.3.10和php5.0.3以前有一些比較嚴重的bug,所以推薦使用新版。
    2010-04-04
  • php的日期處理函數及uchome的function_coomon中日期處理函數的研究

    php的日期處理函數及uchome的function_coomon中日期處理函數的研究

    經常在用php的時候會碰到一個關于時間日期的問題還有時區(qū)差異的問題,以前作項目的時候會把時間搞錯,要么就是提前八小時了,要么那個時間就是驢唇不對馬嘴的,現在我就來深入研究一下這里面的各個函數及其用法
    2011-01-01
  • PHP模塊化安裝教程

    PHP模塊化安裝教程

    這篇文章主要介紹了PHP模塊化安裝的方法,較為詳細的分析了php模塊化安裝的步驟與相關注意事項,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • Thinkphp框架開發(fā)移動端接口(2)

    Thinkphp框架開發(fā)移動端接口(2)

    這篇文章主要介紹了thinkphp框架開發(fā)移動端接口的第2種方法,實現移動端訪問自動切換移動主題模板,從而實現偽app訪問,感興趣的小伙伴們可以參考一下
    2016-08-08

最新評論

通城县| 贵港市| 陵川县| 毕节市| 武城县| 石楼县| 浪卡子县| 岑巩县| 伊宁县| 金塔县| 德保县| 济宁市| 略阳县| 林西县| 贺兰县| 宜兰县| 山丹县| 卢氏县| 和政县| 漳浦县| 阿图什市| 会昌县| 灵台县| 望江县| 简阳市| 博白县| 保康县| 新郑市| 都安| 永清县| 临海市| 靖边县| 龙胜| 梅州市| 九龙坡区| 崇文区| 鸡西市| 惠来县| 长武县| 阿拉善右旗| 海城市|