タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ハノイの塔に関するbillie175のブックマーク (2)

  • 再帰でハノイの塔を攻略せよ

    説明を簡略化するためにどの棒からどの棒に移動するか、棒の番号だけで示します。 0から2 0から1 2から1 0から2 1から0 1から2 0から2 ここで、最初の状態と手順3の後の状態に着目しましょう。最初の状態から手順3の後の状態にするには、上の2つをまとめて真ん中に移動させればよいはずです。円盤が2つの場合の移動の手順はすでに分かっているので、その手順に従って手順3の後の状態にすることができます。 そして手順4の後の状態と最後の状態に着目します。手順4の後の状態から最後の状態にするには、真ん中の2つの円盤をまとめて右の棒に移動させればよいはずです。これも同じ要領で2つの円盤を右に移動できます。 全部移動できたので、円盤3つをまとめて移動する手順が確立されました。 同じ要領で円盤が何個に増えても移動させることができます。つまり以下のような手順になります。円盤の数をnとします。 左の棒から

    再帰でハノイの塔を攻略せよ
  • 再帰関数における引数の入れ替え (ハノイの塔を例に) - Qiita

    再帰の代表例と言えば、フィボナッチ数列、階乗計算……など色々ありますが、中でも有名にしてちょっと難しい例に、そう、「ハノイの塔」があります。一説によるとドルアーガの塔クリアより難解、何度もZAPされて理解を諦めた強者たち数知れず、らしいです。噂ですけど。 その説明は「ハノイの塔 考え方」などの検索ワードでググればたくさん出てきますので各自調べるといいと思う……で済ませると「ggrks」の5文字ですべてを終わらせる現代の悲しい風潮に棹差すかと思いますので、簡単に説明します。まず、以下の図をご覧ください。 図1 最初この状態から始まって 図2 取り敢えず5の円番をC軸に移して 図3 そして4番の円盤も移して……と続けて行って最終的にすべての円盤をc軸に移し替えるわけです。 注目してもらいたいのは、図2のb軸に4枚の、図3のa軸に3枚のハノイの塔が出来ていることです。 つまり、n枚の円盤のハノイ

    再帰関数における引数の入れ替え (ハノイの塔を例に) - Qiita
  • 1