解题思路:假设有64个盘子,最后一个盘子是要从a棒移动到c棒,前63个盘子通过c棒从a棒移动到b棒,在b棒的63个盘子通过a棒移动到c棒,大致应该是吧,参考小甲鱼的汉诺塔视频..
注意事项:
参考代码:
#include<stdio.h>//汉诺塔
void digui(int num,char a,char b,char c);
void digui(int num,char a,char b,char c)
{
if(num==1)
{
printf("Move %d from %c to %c\n",num,a,c);
}
else
{
digui(num-1,a,c,b);
printf("Move %d from %c to %c\n",num,a,c);
digui(num-1,b,a,c);
}
}
int main()
{
int n;
scanf("%d",&n);
digui(n,'1','2','3');
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:718 |
数组输出 (C语言代码)浏览:775 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:627 |
C语言训练-最大数问题 (C语言代码)浏览:634 |
分糖果 (C++代码)浏览:1458 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:377 |
简单的a+b (C语言代码)浏览:544 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:493 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:549 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:547 |