汉诺塔问题---- 递归类型 之 非数值类型
2013-11-22 18:41
330 查看
递归类型大致方向有两种,第一是数值计算的(兔子数列)(可以用矩阵加快速幂优化),第二是文字非纯数据的(汗诺塔)
递归时。,只需考虑一步和周期间的(打 × 处)
(1 2 3 1 2 3)
× × ×
#include<stdio.h>
int n;
void hanoi(int n,char a,char b,char c)
{
if(n==1) printf("%d from %c to %c\n",n,a,c);
else
{
hanoi(n-1,a,c,b); //把n-1个盘移到B中后
printf("%d from %c to %c\n",n,a,c);//移到C盘中
hanoi(n-1,b,a,c);//A B盘地位交换了
}
}
int main()
{
scanf("%d",&n);
printf("%d\n",(1<<n)-1);
hanoi(n,'A','B','C');
return 0;
}
递归时。,只需考虑一步和周期间的(打 × 处)
(1 2 3 1 2 3)
× × ×
#include<stdio.h>
int n;
void hanoi(int n,char a,char b,char c)
{
if(n==1) printf("%d from %c to %c\n",n,a,c);
else
{
hanoi(n-1,a,c,b); //把n-1个盘移到B中后
printf("%d from %c to %c\n",n,a,c);//移到C盘中
hanoi(n-1,b,a,c);//A B盘地位交换了
}
}
int main()
{
scanf("%d",&n);
printf("%d\n",(1<<n)-1);
hanoi(n,'A','B','C');
return 0;
}
相关文章推荐
- 汉诺塔问题 递归
- 汉诺塔问题(递归)
- 汉诺塔问题(递归)
- 汉诺塔问题的递归解法
- C语言学习4: 函数返回值与传入参数,关于函数值传递和类型隐性转换,变量不同的作用域,static变量,多文件编译例如两个C文件,显示函数调用语句跳转,递归,斐波那契数列,多文件编译相同变量的问题。
- 递归实现汉诺塔问题
- Java中不同数值类型间转换与计算精度丢失问题
- 递归:解决汉诺塔问题(数据结构3.2 P103)
- 经典递归解决汉诺塔问题 python实现
- 汉诺塔问题-递归 -mobai_dalao
- 递归:汉诺塔问题
- 递归的定义以及递归的示例(计算阶乘、计算斐波那契数、递归二分查找、回文串递归方法解决、汉诺塔问题、递归选择排序问题)
- 数值类型的注意问题(代码形式)
- 算法笔记——【递归】汉诺塔问题
- mongodb,数值类型查找不到数据的问题
- Hanoi汉诺塔问题——递归
- Java中不同数值类型间转换与计算精度丢失问题
- 两个经典递归问题:菲波那契数列 + 汉诺塔
- 递归----汉诺塔问题
- 汉诺塔问题的递归程序