经典算法――河内之塔
2013-06-16 09:55
218 查看
本题的思路是:当有一个金盘的时候直接从A搬到C即可,当有不止一个金盘的时候,把n-1个金盘搬到B,然后把最后一个盘子搬到C,再把剩下的盘子从B搬到C,即有A->B,B->C,A->C的过程,按照这个思路可以写出下面的代码来解决问题。
#include<iostream> using namespace std; void hanoi(int n,char A,char B,char C){ if(n==1) cout<<"把编号为"<<n<<"的盘子"<<"从"<<A<<"移到" <<C<<endl; else { hanoi(n-1,A,C,B); cout<<"把编号为"<<n<<"的盘子"<<"从"<<A<<"移到"<<C<<endl; hanoi(n-1,B,A,C); } } int main(){ int number; cout<<"请输入金盘的数量:"<<endl; cin>>number; hanoi(number,'A','B','C'); return 0; }本文出自 “菜鸟的进阶之路” 博客,请务必保留此出处http://beyond316.blog.51cto.com/7367775/1222946
相关文章推荐
- 数据结构经典算法学习之河内之塔(汉诺塔)
- 经典算法题--河内之塔
- 经典算法题--河内之塔
- java经典算法之河内之塔(汉诺塔)
- 经典算法之河内之塔
- 经典算法详解(1): 河内之塔
- 经典算法之线切面(1) 切蛋糕
- 算法之路二:刘汝佳算法竞赛入门经典:c++模板
- 经典算法
- 白话经典算法系列之七 堆与堆排序
- UVa1586 分子量 算法竞赛入门经典第二版CH-3习题3-2
- C语言100个算法经典例题(三)
- 大公司笔试面试有哪些经典算法题目?
- 经典查找算法之二分查找
- 【LeetCode-面试算法经典-Java实现】【086-Partition List(将单链表进行分区)】
- LCA问题的在线算法(很经典的一个算法)
- 经典算法面试题目-替换字符串的内容(1.5)
- 备战蓝桥杯——算法经典趣题(百钱买百鸡)
- Java 经典算法40题
- 【算法竞赛入门经典第五章:C++与STL入门