C++汉诺塔

来源:互联网 发布:windows找不到mstsc 编辑:程序博客网 时间:2024/06/07 00:43
int c = 0;
void move(char x, int n, char z) {
cout<<++c <<"," <<"第"<<n<<"个,从" <<x <<",移动到"<<z <<endl;
}
void Hanoi(int n, char A, char B, char C) {
//当n=1时,直接移动到C
if (n == 1) {
move(A, 1, C);
} else {
//将前n-1个,从A通过C,移动到B
Hanoi(n-1, A, C, B);
//将最后一个移动到C
move(A, n, C);
//将前n-1个,从B通过A,移动到C
Hanoi(n-1, B, A, C);
}
}
int main() {
Hanoi(15,'A', 'B', 'C');
return 0;
}
原创粉丝点击