伪算法
if(n>1){
把A的n-1个盘子借助C移到B
将A中的第N个盘子直接移到C
将B柱子上的N-1个盘子借助A移到C
}
代码实现:
#includevoid hannuota(int n,char A,char B,char C); int main(void){ int n; printf("请输入要移动的盘子数"); scanf("%d",&n); hannuota(n,'A','B','C'); } //hannuota()这个函数的功能是将N个盘子从莫一个柱子A借助莫一个柱子B移动到莫一个柱子C上,ABC柱子不是固定的 void hannuota(int n,char A,char B,char C){ if(n==1){ printf("直接将编号为%d的盘子从%c柱子上移到%c柱子上n",n,A,C); }else{ hannuota(n-1,A,C,B); printf("直接将编号为%d的盘子从%c柱子上移到%c柱子上n",n,A,C); hannuota(n-1,B,A,C); } return; }
运行结果:



