码迷,mamicode.com
首页 > 其他好文 > 详细

Hanoi

时间:2015-06-30 14:32:40      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

说明

河内之塔(TowersofHanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市;1883年法国数学家EdouardLucas曾提及这个故事,据说创世纪时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),并命令僧侣将所有的金盘从第一根石棒移至第三根石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当盘子全数搬运完毕之时,此塔将毁损,而也就是世界末日来临之时。

 1 #include <iostream>
 2 using namespace std;
 3 
 4 void hanoi(int n, char A, char B, char C)
 5 {
 6     void move(char x, char y);
 7     if(n == 1) {
 8         move(A, C);
 9     } else {
10         hanoi(n - 1, A, C, B);
11         move(A, C);
12         hanoi(n - 1, B, A, C);
13     }
14 }
15 
16 void move(char x, char y)
17 {
18     cout << x << "-->" << y << endl;
19 }
20 
21 int main()
22 {
23     void hanoi(int n, char A, char B, char C);
24     int m;
25     cout << "输入盘子数:";
26     cin >> m;
27     hanoi(m, A, B, C);
28 }

 

Hanoi

标签:

原文地址:http://www.cnblogs.com/lovywinsy/p/4610155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!