题解
汉诺塔问题
1 条题解
-
0
#include <bits/stdc++.h> using namespace std; void hanoi(int k, char x, char y, char z)//输出k层汉诺塔从x杆移动到y杆借助z杆的解法 { if(k == 0) return; hanoi(k-1, x, z, y);//将k-1层汉诺塔从x杆移动到z杆借助y杆 cout<<x<<"->"<<k<<"->"<<y<<endl;//输出将k号圆盘从x移动到y hanoi(k-1, z, y, x);//将k-1层汉诺塔从z杆移动到y杆借助x杆 } int main() { int n; char a, b, c; cin>>n>>a>>b>>c; hanoi(n, a, b, c); return 0; }
- 1