您好,登錄后才能下訂單哦!
這篇文章給大家介紹使用PHP怎么實現一個漢諾塔算法,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
解決思路:
(1)以C盤為中介,從A桿將1至n-1號盤移至B桿;
(2)將A桿中剩下的第n號盤移至C桿;
(3)以A桿為中介;從B桿將1至n-1號盤移至C桿。
PHP代碼實現:
/** * 漢諾塔(3根柱子) * @param unknown $n * @param string $a // 當前位置 * @param string $b // 中轉位置 * @param string $c // 目標位置 */ function hanoi($n,$a='A',$b='B',$c='C'){ if( $n==1 ){ echo "{$a}->{$c} <br/>"; }else{ hanoi($n-1,$a,$c,$b); // 將最大盤上的盤子,借助C柱,全部移動到B柱上 echo "{$a}->{$c} <br/>"; // 將最大盤直接從A柱移到C柱 hanoi($n-1,$b,$a,$c); // 再將B柱上的盤子,借助A柱,全部移到C柱 } } //測試: hanoi(3,$a='A',$b='B',$c='C')
運行結果:
A->C
A->B
C->B
A->C
B->A
B->C
A->C
關于使用PHP怎么實現一個漢諾塔算法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。