婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP遞歸實現漢諾塔問題的方法示例

PHP遞歸實現漢諾塔問題的方法示例

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

本文實例講述了PHP遞歸實現漢諾塔問題的方法。分享給大家供大家參考,具體如下:

漢諾塔(又稱河內塔)問題是源于印度一個古老傳說的益智玩具。大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。簡而言之,有三根相鄰的柱子,標號為A,B,C,A柱子上從下到上按金字塔狀疊放著n個不同大小的圓盤,要把所有盤子一個一個移動到柱子B上,并且每次移動同一根柱子上都不能出現大盤子在小盤子上方,請問至少需要多少次移動?

遞歸過程序如下:

1)把n-1個圓從A移到C
2)把剩下一個由A移到B
3)再把n-1個由C移到B,完成

代碼如下:

?php
//將所有圓盤從a移到b
function hanuota($n,$a,$b,$c){
  global $step;
  if($n==1){
    $step++;
    echo "將圓盤 $n 從 $a 柱子 到 $b 柱子 br />";
  }else{
    hanuota($n-1,$a,$c,$b);
    $step++;
    echo "將圓盤 $n 從 $a 柱子 到 $b 柱子 br />";
    hanuota($n-1,$c,$b,$a);
  }
}
//移動的次數
$step = 0;
hanuota(4, 'A', 'B', 'C');
echo "移動次數:" . $step;
?>

運行結果:

將圓盤 1 從 A 柱子 到 C 柱子
將圓盤 2 從 A 柱子 到 B 柱子
將圓盤 1 從 C 柱子 到 B 柱子
將圓盤 3 從 A 柱子 到 C 柱子
將圓盤 1 從 B 柱子 到 A 柱子
將圓盤 2 從 B 柱子 到 C 柱子
將圓盤 1 從 A 柱子 到 C 柱子
將圓盤 4 從 A 柱子 到 B 柱子
將圓盤 1 從 C 柱子 到 B 柱子
將圓盤 2 從 C 柱子 到 A 柱子
將圓盤 1 從 B 柱子 到 A 柱子
將圓盤 3 從 C 柱子 到 B 柱子
將圓盤 1 從 A 柱子 到 C 柱子
將圓盤 2 從 A 柱子 到 B 柱子
將圓盤 1 從 C 柱子 到 B 柱子
移動次數:15

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

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

您可能感興趣的文章:
  • php實現猴子選大王問題算法實例
  • PHP貪婪算法解決0-1背包問題實例分析
  • php約瑟夫問題解決關于處死犯人的算法
  • PHP基于回溯算法解決n皇后問題的方法示例
  • PHP使用棧解決約瑟夫環問題算法示例
  • PHP基于遞歸算法解決兔子生兔子問題
  • PHP經典算法集錦【經典收藏】
  • PHP常用算法和數據結構示例(必看篇)
  • php經典算法集錦
  • PHP實現的解漢諾塔問題算法示例

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

巨人網絡通訊聲明:本文標題《PHP遞歸實現漢諾塔問題的方法示例》,本文關鍵詞  PHP,遞歸,實現,漢諾塔,問,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP遞歸實現漢諾塔問題的方法示例》相關的同類信息!
  • 本頁收集關于PHP遞歸實現漢諾塔問題的方法示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 临汾市| 会昌县| 建始县| 尚义县| 黑河市| 民权县| 昭平县| 海兴县| 长岭县| 德安县| 郧西县| 阜南县| 德清县| 怀柔区| 东港市| 西丰县| 合江县| 龙口市| 恩平市| 汾西县| 航空| 泰宁县| 和硕县| 盐源县| 安达市| 金溪县| 新干县| 武平县| 桐城市| 沈丘县| 凤阳县| 衡水市| 新昌县| 河西区| 磐石市| 黄陵县| 辛集市| 饶平县| 三江| 马龙县| 阿图什市|