C++例题2:汉诺塔问题
#include<iostream>
#include<stdlib.h>
using namespace std;
void Hanoi(int n,char A,char B,char C){ //n个盘子从A借助B到C上
if(n==1){
cout<<A<<"-->"<<C;
}
if(n==2){
cout<<A<<"-->"<<B<<endl;
cout<<A<<"-->"<<C<<endl;
cout<<B<<"-->"<<C<<endl;
}
else{
Hanoi(n-1,A,C,B); //n-1个盘子从A借助C到B上
cout<<A<<"-->"<<C<<endl;//将第n个直接移到C上
Hanoi(n-1,B,A,C);//最后将n-1个盘子借助A移到C上
}
}
int main()
{
	int i;
	cout<<"请输入汉诺塔的高度:";
	cin>>i;
Hanoi(i,'A','B','C');//目的是将n个盘子从A借助B到C上
system("pause");
return 0;
}
C++例题2:汉诺塔问题的更多相关文章
- [递推]B. 【例题2】奇怪汉诺塔
		B . [ 例 题 2 ] 奇 怪 汉 诺 塔 B. [例题2]奇怪汉诺塔 B.[例题2]奇怪汉诺塔 题目描述 汉诺塔问题,条件如下: 这里有 A A A. B B B. C C C 和 D D D ... 
- HDOJ 1995  汉诺塔V
		Problem Description 用1,2,-,n表示n个盘子,称为1号盘,2号盘,-.号数大盘子就大.经典的汉诺塔问 题经常作为一个递归的经典例题存在.可能有人并不知道汉诺塔问题的典故.汉诺塔 ... 
- HDU-1207                                         汉诺塔II
		汉诺塔 四根所需要的步数的规律: 规律:a[1]=1;a[2]=a[1]+2;a[3]=a[2]+2;(2个加2^1)a[4]=a[3]+4;a[5]=a[4]+4;a[6]=a[5]+4;(3个加 ... 
- 汉诺塔III  汉诺塔IV 汉诺塔V (规律)
		汉诺塔III Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ... 
- HDU 1207 汉诺塔II (递推)
		经典的汉诺塔问题经常作为一个递归的经典例题存在.可能有人并不知道汉诺塔问题的典故.汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘.上 ... 
- HDUOJ---(1995)汉诺塔V
		汉诺塔V Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ... 
- #C++初学记录(初识汉诺塔)
		汉诺塔 题目 用1,2,...,n表示n个盘子,称为1号盘,2号盘,....号数大盘子就大.经典的汉诺塔问 题经常作为一个递归的经典例题存在.可能有人并不知道汉诺塔问题的典故.汉诺塔来源于 印度传说的 ... 
- HDU 1207 汉诺塔II (找规律,递推)
		传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1207 汉诺塔II Time Limit: 2000/1000 MS (Java/Others) ... 
- hdu 1207 汉诺塔II (DP+递推)
		汉诺塔II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ... 
随机推荐
- AFNetworking2.0 NSHipster翻译
			AFNetworking 是当前 iOS 和 Mac OS X 开发中最广泛使用的开源项目之一.它帮助了成千上万叫好又叫座的应用,也为其它出色的开源库提供了基础.这个项目是社区里最活跃.最有影响力的项 ... 
- 微软提供的API的各个版本之间的区别
			First Floor Software这个diff lists非常方便的给出了微软提供的API的各个版本之间的区别,比如下表是.NET 4和.NET 4.5的API变化总结.我们可以看到.NET 4 ... 
- css三角形绘制
			三角形演变: 1.将一个块元素的宽.高都设置为0,再设置边框样式,得如下效果图(绿色部分): 样式: {;;border: 35px solid #7de87d;} 通过此样式得到的是一个正方形. 2 ... 
- DB2单个DB重启
			db2单个数据库重启 . -------------------------------------------------------------- db2 connect to bpm user ... 
- ※C++随笔※=>☆C++基础☆=>※№→C++中 #include<>与#include""
			#include<> 使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找: #include"" 使用双引号则表示首先在 ... 
- TCP SOCKET中backlog参数的用途是什么? ---图解
			recv_queue中的包大小,为内核的包大小,而不是ip包大小. 如果发出去的包太大,需要修改write_queue和tx_queue两个参数,tx_queue主要是流量控制. 多进程必须在sock ... 
- xslt语法之---If Else
			大家都知道,XSL中是没有if else的,那么要想实现if else该怎么办呢? 其实很简单 <xsl:choose> <xsl:when test="position( ... 
- wpf提示背景,资源样式
			查找资源时多用element.TryFindResource() <TextBox FontSize="17" Height="26" Margin=&q ... 
- js多行字符串
			最基本的做法是: js 代码 var str = "111\n222\n333"; 但是这样不好排版.JavaScript 本身支持“\”的断句方式,于是可以这样写: js 代码 ... 
- web前端开发随手笔记 - 持续更新
			本文仅为个人常用代码整理,供自己日常查阅 html 浏览器内核 <!--[if IE]><![endif]--> <!--[if IE 6]><