> For the complete documentation index, see [llms.txt](https://jen-hsuan-hsieh.gitbook.io/letcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jen-hsuan-hsieh.gitbook.io/letcode/2.algorithm/24he-nei-ta-tower-of-hanoi.md).

# 2.4.河內塔 (Tower of Hanoi)

* **Introduction**
  * **規則如下**
    * 1.有三根竿子，例如編號為A、B和C，竿子上面可串中空圓盤。
    * 2.於A竿子放入N個盤子開始，盤子由下至上變小。
    * 3.一次只能移動一個盤子。
    * 4.大盤子不能再小盤子上面。
    * 5.目標將全部盤子移動到C竿子。
  * **解法**
* **程式碼**

  ```
    void move(int disks, int from, int to)
    {
        if(disks == 1)
        {
            cout << "Move from " << from << " to " << to << endl;
            return;
        }
        int relay = 6 - from - to;
        move(disks - 1, from, relay);
        move(1, from, to);
        move(disks - 1, relay, to);
    }
  ```
