汉诺塔问题

来源:互联网 发布:积家约会 知乎 编辑:程序博客网 时间:2024/06/05 19:08
#include <iostream>using namespace std;static i=0;int main(){void hanota(int , char , char , char );cout<<"您要移动多少盘子?";    int n;cin>>n;hanota(n, 'A', 'B', 'C');cout<<"一共移动了"<<i<<"次!!"<<endl;return 0;}void hanota(int n, char a, char b, char c){void move(char , char );if (n==1)  move(a,c);else{hanota(n-1, a, c, b);move(a, c);hanota(n-1, b, a, c);}}void move(char x, char y){cout<<x<<"--->"<<y<<endl;i++;}

原创粉丝点击