1.有三根杆子X,Y,Z。X杆上有若干碟子
2.每次移动一块碟子,小的只能叠在大的上面
3.把所有碟子从X杆全部移到Z杆上
#include <iostream> using namespace std; void move(int n, char x, char y, char z) { if(n >= 1) { move(n-1,x,z,y); cout << x << "->" << z << endl; move(n-1,y,x,z); } } int main(int argc, char * argv[]) { move(3, 'x', 'y', 'z'); return 0; }