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

PHP實(shí)現(xiàn)約瑟夫環(huán)問題的方法分析

 更新時(shí)間:2017年12月07日 10:28:02   作者:Shower稻草人  
這篇文章主要介紹了PHP實(shí)現(xiàn)約瑟夫環(huán)問題的方法,結(jié)合實(shí)例形式分析了php使用循環(huán)與遞歸實(shí)現(xiàn)約瑟夫環(huán)的相關(guān)操作技巧,需要的朋友可以參考下

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

一、概述

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

二、實(shí)現(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);

運(yùn)行結(jié)果:

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);

運(yùn)行結(jié)果:

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

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

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

相關(guān)文章

  • PHP設(shè)計(jì)模式之適配器模式原理與用法分析

    PHP設(shè)計(jì)模式之適配器模式原理與用法分析

    這篇文章主要介紹了PHP設(shè)計(jì)模式之適配器模式,簡單描述了適配器模式的概念、原理并結(jié)合實(shí)例形式分析了php類適配器模式與對象適配器模式的具體定義與使用方法,需要的朋友可以參考下
    2018-04-04
  • phpstorm編輯器亂碼問題解決

    phpstorm編輯器亂碼問題解決

    這篇文章主要介紹了phpstorm編輯器亂碼問題的解決方案,非常的實(shí)用,給需要的小伙伴們參考下。
    2014-12-12
  • PHP中json浮點(diǎn)精度的解決方法

    PHP中json浮點(diǎn)精度的解決方法

    這篇文章主要帶大家一起深入研究下PHP的json中,浮點(diǎn)型的精度該如何保留的問題,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,希望對大家有所幫助
    2024-10-10
  • 詳解PHP匿名函數(shù)與注意事項(xiàng)

    詳解PHP匿名函數(shù)與注意事項(xiàng)

    這篇文章主要為大家詳細(xì)介紹了詳解PHP匿名函數(shù)與注意事項(xiàng),匿名函數(shù)是PHP5.3引進(jìn)來的,想要學(xué)習(xí)匿名函數(shù)的朋友可以參考一下
    2016-03-03
  • php用戶登錄之cookie信息安全分析

    php用戶登錄之cookie信息安全分析

    這篇文章主要介紹了php用戶登錄之cookie信息安全,介紹了cookie加密與令牌保護(hù)兩種cookie信息安全保護(hù)的技巧,需要的朋友可以參考下
    2016-05-05
  • PHP實(shí)現(xiàn)動態(tài)表單生成工具詳解

    PHP實(shí)現(xiàn)動態(tài)表單生成工具詳解

    表單包含多種input類型,包括 hiiden類型 ,text類型,radio類型等。但手寫表單累,耗時(shí)耗力,開發(fā)銷量太低且代碼量大了還容易寫出bug,所以本文將用PHP編寫動態(tài)表單生成工具,需要的可以參考一下
    2022-03-03
  • PHP實(shí)現(xiàn)圖片加水印功能

    PHP實(shí)現(xiàn)圖片加水印功能

    這篇文章主要和大家分享幾個(gè)php給圖片加水印的幾個(gè)自定義函數(shù),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)PHP有一定幫助,需要的可以參考一下
    2022-06-06
  • php實(shí)現(xiàn)向javascript傳遞數(shù)組的方法

    php實(shí)現(xiàn)向javascript傳遞數(shù)組的方法

    這篇文章主要介紹了php實(shí)現(xiàn)向javascript傳遞數(shù)組的方法,涉及php數(shù)組轉(zhuǎn)json傳遞到j(luò)avascript的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • php面向?qū)ο蟪绦蛟O(shè)計(jì)中self與static的區(qū)別分析

    php面向?qū)ο蟪绦蛟O(shè)計(jì)中self與static的區(qū)別分析

    這篇文章主要介紹了php面向?qū)ο蟪绦蛟O(shè)計(jì)中self與static的區(qū)別,結(jié)合實(shí)例形式分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)中self與static的功能、以及在繼承過程中實(shí)現(xiàn)多態(tài)的區(qū)別,并總結(jié)了static靜態(tài)延遲綁定的原理,需要的朋友可以參考下
    2019-05-05
  • PHP將整個(gè)網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁的方法總結(jié)

    PHP將整個(gè)網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁的方法總結(jié)

    我經(jīng)常會在網(wǎng)上看到有人問怎么將整個(gè)動態(tài)的網(wǎng)站靜態(tài)化,其實(shí)實(shí)現(xiàn)的方法很簡單
    2012-02-02

最新評論

大安市| 右玉县| 罗定市| 雅安市| 永福县| 淮阳县| 噶尔县| 枣阳市| 肇源县| 信丰县| 左权县| 将乐县| 通州市| SHOW| 南木林县| 昌黎县| 花垣县| 宜城市| 永丰县| 杂多县| 南阳市| 巴彦淖尔市| 云龙县| 清远市| 南投县| 临朐县| 苏尼特左旗| 呼和浩特市| 琼中| 铜鼓县| 石城县| 贵港市| 郎溪县| 清新县| 溧水县| 沁源县| 衡东县| 胶州市| 海原县| 文昌市| 孙吴县|