1. 程式人生 > >三柱漢諾塔c++實現

三柱漢諾塔c++實現

小的盤子必須在大的盤子的上面

void hannoi(int n, char a, char b, char c ) {     if (n == 1)     {         res.push_back(to_string(n)+" from " +a+" to "+c);     }     else     {         hannoi(n - 1, a, c, b);         res.push_back(to_string(n) + " from " + a + " to " + c);         hannoi(n - 1, b, a, c);     } }

int main() {     int n;     cin >> n;     hannoi(n, 'A', 'B', 'C');     cout << res.size() << endl;     for (int i = 0; i < res.size(); i++)     {         cout << res[i] << endl;     }

    return 0; }