ハノイの塔
ハノイの塔スタイルの整数のリストをソートする関数/サブルーチンを記述します。 整数のスタックが与えられます。これがメインスタックです。 また、さらに2つのヘルパースタックが提供されます。ただし、これらのヘルパースタックには固有のプロパティがあります。すべての要素は、その下の要素よりも小さいか、同じサイズでなければなりません。メインスタックにはこのような制限はありません。 メインスタックを所定の位置に並べ替え、最大の整数をその下に配置する必要があります。関数/サブルーチンは、スタックのソートで行われた移動の数(または同等の)を返します。 注:メインスタックを所定の場所に並べ替える必要があります。別のスタックに並べ替えて、その答えを呼び出す必要はありません。ただし、何らかの理由でそうできない場合は、可変スタックをシミュレートできますが、これはハノイの塔の並べ替えであることに注意してください。ペグは3つのみで、順序付けられていないペグは1つだけです。 関数/サブルーチンはいつでもスタックを検査できますが、ポップとプッシュによってのみ移動できます。シングルムーブとは、あるスタックから別のスタックにプッシュされるポップです。 最初の6つの自然数の順列ごとに関数/サブルーチンをテストします。言い換えれば、関数/サブルーチンをテストします{1},{2},...,{6},{1,1},{1,2},...,{1,6},{2,1},...(これは合計または可能性があるはずです(数学を修正してくれたハワードに感謝します))。要素を最小の回数だけ移動する関数/サブルーチンが勝ちます。61+62+...+6655986