百度空间 | 百度首页 
 
查看文章
 
汉诺塔
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;
}

类别:Coding | 添加到搜藏 | 分享到i贴吧 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu