ハノイの塔は、インドの古代伝説に基づいた知育玩具です。ハノイ塔の動きは再帰的関数としても見ることができます。
列に a、b、c の番号を付けます。すべてのディスクを a から c に移動することは、次のように記述できます。
a にディスクが 1 つしかない場合は、直接 c に移動できます。 a には 1 つのディスク (シャーシ) + (N-1) 個のディスクがあると考えてください。まず、(N-1) 個のディスクを b に移動し、次に a の最後のディスクを c に移動してから、(N-1) を移動する必要があります。 )b~cのディスク。
入力 n、a、b、c を指定して、移動のステップを出力する関数を作成してください:
move(n, a, b, c)
たとえば、入力 move(2, 'A', ' B'、'C')、印刷:
A –> B
B –> C
背景情報:
コードは次のように実装されます:
def move(n, a, b, c): if n==1: print a,'-->',c return else: move(n-1,a,c,b) #首先需要把 (N-1) 个圆盘移动到 b move(1,a,b,c) #将a的最后一个圆盘移动到c move(n-1,b,a,c) #再将b的(N-1)个圆盘移动到c move(4, 'A', 'B', 'C')
以上がPython でハノイの塔メソッドを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。