汉诺塔问题
#include <iostream> using namespace std; /*将src针上最上面一个盘子移到dest针上*/ void move(char src,char dest) { cout << src << "----->" << dest << endl; } /*将src针上n个盘子移到dest针上*/ void hanoi(int n,char src,char medium,char dest) { if(n == 1) move(src,dest); else{ hanoi(n-1,src,dest,medium); move(src,dest); hanoi(n-1,medium,src,dest); } } int main() { int n; //n表示盘子的数目 cout << "请输入盘子的数量" << endl; cin >> n; cout << "步骤分别是"<<endl; hanoi(n,'A','B','C'); return 0; }
posted on 2016-03-28 18:01 Tob's_the_top 阅读(149) 评论(0) 编辑 收藏 举报