首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

递归兑现含汉诺塔

2012-09-07 
递归实现含汉诺塔#includestdio.hvoid hannota(int n ,char A,char B,char C){ if(n1) {//当盘子的数

递归实现含汉诺塔

#include<stdio.h>void hannota(int n ,char A,char B,char C){ if(n==1) {  //当盘子的数量为1个的时候直接从A柱子移动到C柱子上 printf("%d:%c--->%c\n",n,A,C); } else {  //将A柱子上第n-1个盘子借住C柱子移动到B  hannota(n-1,A,C,B);  //移动完成后直接将A柱子上的盘子移动到C柱子上因为A柱子上的盘子已经是最大了  printf("%d:%c--->%c\n",n,A,C);  //将B柱子上的盘子借住A柱子移动到C柱子上  hannota(n-1,B,A,C); }}int main(){ int n; printf("请输入盘子的数量:"); scanf("%d",&n); hannota(n,'A','B','C');}

热点排行