汉诺塔问题

来源:互联网 发布:820空心杯淘宝 编辑:程序博客网 时间:2024/06/04 18:16

当然是果断递归!!!程序中需要注意的点在于递归的时候从哪个柱子拿出,哪个柱子放进,哪个柱子辅助会有变化。

上代码:

#include <iostream>using namespace std;int main(void){  void movedisk(int,char,char,char);  int n;  cout<<"please input the number of disk:"<<endl;  cin>>n;  movedisk(n,'A','B','C');  return 0;}void movedisk(int n,char fromtower,char auxtower,char totower){  if(n==1) cout<<"move disk "<< n <<" from "<< fromtower <<" to "<< totower <<endl;  else  {     movedisk(n-1,fromtower,totower,auxtower);    cout<<"move disk "<< n <<" from "<< fromtower <<" to "<< totower <<endl;    movedisk(n-1,auxtower,totower,fromtower);  }}


0 0