校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP實現約瑟夫環問題的方法分析

PHP實現約瑟夫環問題的方法分析

熱門標簽:外呼系統人工客服 400電話申請辦理 全國各省地圖標注點 隨州銷售電銷機器人公司 商丘外呼系統好處 網絡電話400申請 福建高頻外呼防封系統哪家好 周口網絡回撥外呼系統 百度地圖標注類型是酒店

本文實例講述了PHP實現約瑟夫環問題的方法。分享給大家供大家參考,具體如下:

一、概述

先來看看網上比較常見的約瑟夫環問題描述:約瑟夫環(約瑟夫問題)是一個數學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下一個人又從1開始報數,數到m的那個人又出列;依此規律重復下去,直到圓桌周圍的人全部出列。通常解決這類問題時我們把編號從0~n-1,最后結果+1即為原問題的解。

二、實現代碼

1. 循環

function circle($arr,$idx,$k){
  for($i=0;$i$idx;$i++){
    $tmp = array_shift($arr);
    array_push($arr,$tmp);
  }
  $j = 1;
  while(count($arr) > 0){
    $tmp = array_shift($arr);
    if($j++%$k == 0){
      echo $tmp."\n";
    }else{
      array_push($arr,$tmp);
    }
  }
}
$arr = array(1,2,3,4,5,6,7,8,9,10,11,12);
$idx = 3;
$k = 4;
circle($arr,$idx,$k);

運行結果:

7 11 3 8 1 6 2 10 9 12 5 4 

2. 遞歸

function circle($arr,$idx,$k){
  $len = count($arr);
  $i = 1;
  if($len == 1){
    echo $arr[0]."\n";
    return ;
  } else {
    while($i++  $k){
      $idx++;
      $idx = $idx%$len;
    }
    echo $arr[$idx]."\n";
    array_splice($arr,$idx,1);
    circle($arr,$idx,$k);
  }
}
$arr = [1,2,3,4,5,6,7,8,9,10,11,12];
$idx = 3;
$k = 4;
circle($arr,$idx,$k);

運行結果:

7 11 3 8 1 6 2 10 9 12 5 4

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

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

您可能感興趣的文章:
  • php解決約瑟夫環示例
  • 約瑟夫環問題的PHP實現 使用PHP數組內部指針操作函數
  • PHP使用棧解決約瑟夫環問題算法示例
  • PHP基于遞歸實現的約瑟夫環算法示例
  • PHP實現的基于單向鏈表解決約瑟夫環問題示例
  • php基于環形鏈表解決約瑟夫環問題示例
  • php實現約瑟夫問題的方法小結
  • php約瑟夫問題解決關于處死犯人的算法
  • PHP基于關聯數組20行代碼搞定約瑟夫問題示例
  • php使用環形鏈表解決約瑟夫問題完整示例
  • php解決約瑟夫環算法實例分析

標簽:南寧 十堰 海南 樂山 佛山 六安 定西 迪慶

巨人網絡通訊聲明:本文標題《PHP實現約瑟夫環問題的方法分析》,本文關鍵詞  PHP,實現,約瑟夫,環問,題的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP實現約瑟夫環問題的方法分析》相關的同類信息!
  • 本頁收集關于PHP實現約瑟夫環問題的方法分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 临湘市| 遵义市| 怀仁县| 泰顺县| 五河县| 永新县| 出国| 北碚区| 伽师县| 德惠市| 黑龙江省| 武宁县| 西林县| 重庆市| 鹿邑县| 贵溪市| 炎陵县| 安平县| 荆州市| 泸溪县| 都昌县| 大埔县| 正宁县| 岳普湖县| 天祝| 板桥市| 霍州市| 晴隆县| 那曲县| 乡宁县| 个旧市| 泰宁县| 丹阳市| 疏勒县| 四子王旗| 新源县| 遂昌县| 鹤山市| 托里县| 滦南县| 台北县|