|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Julia999 于 2019-8-3 15:25 编辑
递归的定义: 一个函数自己调用自己
举例:
1求阶乘
2.1+2+3+4+、、、+1000的和
3.汉诺塔
4.走迷宫
汉诺塔伪算法:if(n>1)
{
先把A柱子上的前n-1个盘子从A借助C移到B
将A柱子上的第n个盘子直接移动到C
再将B柱子上的n-1个盘子借助A移动到C
}
- #include<stdio.h>
- hannuota(int n,char x,char y,char z)
- {
- if(n==1)
- {
- printf("将编号为%d的盘子直接从%c柱子移到%c柱子",n,A,C);
- }
- else
- {
- hannuota(n-1,A,C,B);
- printf("将编号为%d的盘子直接从%c柱子移到%c柱子",n,A,C);
- hannuota(n-1,B,A,C);
- }
- }
- int main()
- {
- char ch1='A';
- char ch1='B';
- char ch1='C';
- int n;
- printf("请输入盘子的数量:");
- scanf("%d",&n);
- hannuota(n,'A','B','C');
- return 0;
- }
复制代码
|
|