递归求汉诺塔
#include <iostream> using namespace std; void Move(int n, char src, char dest) { cout << "dist " << n << " moves from " << src << " to " << dest << endl; } void MoveTo(int n, char src, char dest, char tmp) { if (n == 1) cout << "disk " << n << " moves from " << src << " to " << dest << endl; else { MoveTo(n-1, src, tmp, dest); Move(n, src, dest); MoveTo(n-1, tmp, dest, src); } } int main() { MoveTo(4, 'A', 'B', 'C'); cin.get(); return 0; }
最后更新:2017-04-02 15:15:29