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

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

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

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

約瑟夫環(huán)問題: 39 個猶太人與Josephus及他的朋友躲到一個洞中,39個猶太人決定寧愿死也不要被敵人抓。于是決定了自殺方式,41個人排成一個圓圈,由第1個人開始報數(shù),每報數(shù)到第3人該人就必須自殺。然后下一個重新報數(shù),直到所有人都自殺身亡為止。然而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í)行結(jié)果:

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

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

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

相關(guān)文章

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

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

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

    php開發(fā)中的頁面跳轉(zhuǎn)方法總結(jié)

    PHP頁面跳轉(zhuǎn)實現(xiàn)的功能就是將網(wǎng)站中一個網(wǎng)頁跳轉(zhuǎn)到另一個網(wǎng)頁中。對于剛剛學(xué)習(xí)PHP語言的朋友來說,是必須要掌握的基礎(chǔ)方法。
    2015-04-04
  • PHP擴(kuò)展Memcache分布式部署方案

    PHP擴(kuò)展Memcache分布式部署方案

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

    mongo Table類文件 獲取MongoCursor(游標(biāo))的實現(xiàn)方法分析

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

    部署PHP項目應(yīng)該注意的幾點事項分享

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

    PHP實現(xiàn)bitmap位圖排序與求交集的方法

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

    php中幾種常見安全設(shè)置詳解

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

    php的日期處理函數(shù)及uchome的function_coomon中日期處理函數(shù)的研究

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

    PHP模塊化安裝教程

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

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

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

最新評論

治多县| 新邵县| 太仆寺旗| 东乡县| 大洼县| 大余县| 岑巩县| 石渠县| 大埔区| 抚远县| 浠水县| 纳雍县| 正蓝旗| 基隆市| 西贡区| 历史| 郁南县| 盖州市| 武定县| 江川县| 当雄县| 秭归县| 广宁县| 高要市| 普洱| 巴塘县| 汾西县| 高唐县| 尚志市| 合作市| 论坛| 峨眉山市| 高青县| 金川县| 临江市| 井陉县| 娄烦县| 明水县| 鄂托克前旗| 兴业县| 泽库县|