您的位置:首页 > 其它

汉诺塔问题---- 递归类型 之 非数值类型

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: