解题思路:假设有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 人评分
Biggest Number (C++代码)回溯法浏览:1678 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:583 |
WU-图形输出 (C++代码)浏览:836 |
众数问题 (C语言代码)浏览:911 |
C语言程序设计教程(第三版)课后习题6.5 (C++代码)浏览:487 |
Quadratic Equation (C语言代码)浏览:1034 |
简单的a+b (C语言代码)浏览:444 |
简单的a+b (C语言代码)浏览:491 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1359 |
C二级辅导-公约公倍 (C语言代码)浏览:1325 |