查看文章 |
汉诺塔
2009-02-25 16:57
//源自印度神话传说,历经历史长河终于我得以c++的形式见识了其算法,下面程序来源《易学c++》 #include<iostream> using namespace std; void hanoi(int n,char a,char b,char c); void move(char sour,char dest); int main() { int n; cout<<"请输入汉诺塔盘子的个数:"; cin>>n; hanoi(n,'a','b','c'); cout<<"完成"<<endl; return 0; } void hanoi(int n,char a,char b,char c) { if(n==1) { move(a,c); } else { hanoi(n-1,a,c,b); move(a,c); hanoi(n-1,b,a,c); } } void move(char sour,char dest) { cout<<"把"<<sour<<"石柱子最上面的盘子移动到"<<dest<<"石柱子上。"<<endl; } |
最近读者: