国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP實現(xiàn)約瑟夫環(huán)問題的方法詳解

2020-03-22 19:53:11
字體:
來源:轉載
供稿:網(wǎng)友
這篇文章主要介紹了PHP實現(xiàn)約瑟夫環(huán)問題的方法,結合實例形式分析了php使用循環(huán)與遞歸實現(xiàn)約瑟夫環(huán)的相關操作技巧,需要的朋友可以參考下

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

一、概述

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

二、實現(xiàn)代碼

1. 循環(huán)

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

您可能感興趣的文章:

Laravel5.5中利用Passport實現(xiàn)Auth認證的方法講解

PHP中你可能忽略的性能優(yōu)化利器:生成器的相關內容

Laravel框架中composer自動加載的實現(xiàn)詳解

以上就是PHP實現(xiàn)約瑟夫環(huán)問題的方法詳解的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 河源市| 永济市| 车致| 丹江口市| 铜鼓县| 景东| 来安县| 安国市| 张家口市| 缙云县| 五指山市| 巴马| 井研县| 海南省| 开平市| 和硕县| 新巴尔虎左旗| 清新县| 镇雄县| 禹城市| 南和县| 桑日县| 通河县| 焦作市| 区。| 弋阳县| 广汉市| 临城县| 连云港市| 东至县| 启东市| 肥东县| 香格里拉县| 峨山| 旬阳县| 固始县| 永川市| 都兰县| 田林县| 乌什县| 开封市|